03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

10.4 Eröffnen und Schließen von Views 209<br />

Nach dieser Initialisierung enthält die Instanz-Variable “views” der Instanz “WerteErfassung11”<br />

einen Verweis auf dasjenige View, das aus der Klasse “TopPane”<br />

instanziiert wurde und dessen Eigentümer die Instanz “WerteErfassung11” ist.<br />

Hinweis: Die Instanz-Variable “views” ist eine Instanz der Klasse “OrderedCollection”.<br />

Der ursprüngliche Inhalt dieses Sammlers hat sich für die Instanz “WerteErfassung11” von<br />

“OrderedCollection()” in “OrderedCollection(a TopPane)” geändert.<br />

ˆ “addView:”:<br />

Zur Initialisierung eines Views muß das Empfänger-Objekt der Message “add-<br />

View:” eine Instanz der Klasse “ViewManager” oder einer ihr untergeordneten<br />

Klasse sein.<br />

Durch die Ausführung von “addView:” erhält die Instanz-Variable “views”<br />

des Empfänger-Objektes einen Verweis auf dasjenige View, das als Argument<br />

der Message “addView:” aufgeführt ist (zu näheren Angaben siehe Abschnitt<br />

10.7).<br />

10.4 Eröffnen und Schließen von Views<br />

Das View, auf das durch die Instanz-Variable “views” der Instanz “WerteErfassung11”<br />

verwiesen wird, läßt sich durch die Basis-Methode “openWindow” in der<br />

Form<br />

WerteErfassung11 openWindow<br />

eröffnen und damit am Bildschirm als Fenster anzeigen.<br />

Hinweis: Ist für das View kein Eigentümer explizit festgelegt, so ist die Pseudovariable<br />

“nil” – eine Instanz der Klasse “UndefinedObject” – Eigentümer des Views. Ist dies der<br />

Fall, so erhalten wir beim Eröffnen des Views die Fehleranzeige “"maxWindowSize" not<br />

understood” im angezeigten Walkback-Fenster (siehe Anhang A.3). Dabei handelt es sich<br />

bei “maxWindowSize” um eine Basis-Methode, die beim Eröffnen eines Views automatisch<br />

ausgeführt und in der Klasse des Eigentümers, d.h. in diesem Fall in der Klasse “Undefined-<br />

Object”, gesucht wird. Da diese Methode jedoch in der Klasse “ViewManager” vereinbart<br />

ist, kann sie nicht gefunden werden.<br />

ˆ “openWindow”:<br />

Das View, auf das durch die Instanz-Variable “views” derjenigen Instanz verwiesen<br />

wird, die als Empfänger-Objekt von “openWindow” aufgeführt ist,<br />

wird eröffnet und am Bildschirm als Fenster angezeigt (zu näheren Angaben<br />

siehe Abschnitt 10.7).<br />

Standardmäßig erscheint auf dem Bildschirm ein Rahmenfenster mit einer voreingestellten<br />

Größe und Bildschirmposition. Dieses Verhalten läßt sich dadurch beeinflussen,<br />

daß in der Klasse, aus der der Eigentümer des mit dem Rahmenfenster<br />

korrespondierenden Views instanziiert ist, eine Instanz-Methode namens “initWindowSize”<br />

vereinbart wird.<br />

Hinweis: Zum Beispiel wird durch die Vereinbarung<br />

initWindowSize<br />

∧ Display width @ Display height

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!