16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

{<br />

TextField e<strong>in</strong>gabeTextFeld = new TextField(20);<br />

Label e<strong>in</strong>gabeTextFeldLabel = new Label("E<strong>in</strong>gabestr<strong>in</strong>g:");<br />

e<strong>in</strong>gabeTextFeld.setEditable(true);<br />

TextField ausgabeTextFeld = new TextField(20);<br />

Label ausgabeTextFeldLabel = new Label("Ausgabestr<strong>in</strong>g:");<br />

ausgabeTextFeld.setEditable(false);<br />

Panel panel = new Panel();<br />

panel.add(e<strong>in</strong>gabeTextFeldLabel);<br />

panel.add(e<strong>in</strong>gabeTextFeld);<br />

panel.add(ausgabeTextFeldLabel);<br />

panel.add(ausgabeTextFeld);<br />

Frame fenster = new Frame("Echo");<br />

fenster.add(panel);<br />

fenster.pack();<br />

fenster.setVisible(true);<br />

}<br />

}<br />

Die Implementierung <strong>de</strong>s vorliegen<strong>de</strong>n Programms zeigt das folgen<strong>de</strong><br />

Ausgabefenster:<br />

Abb.:<br />

Das vorliegen<strong>de</strong> Beispiel zeigt noch e<strong>in</strong>ige Mängel:<br />

- Zwar kann <strong>in</strong> das für die E<strong>in</strong>gabe vorgesehene Textfeld e<strong>in</strong> Str<strong>in</strong>g e<strong>in</strong>gegeben wer<strong>de</strong>n, das zweite<br />

Textfeld ist allerd<strong>in</strong>gs nicht zugänglich. Es passiert somit nicht gera<strong>de</strong> viel. Es wer<strong>de</strong>n noch ke<strong>in</strong>e<br />

Ereignisse aufgefangen und behan<strong>de</strong>lt.<br />

- Noch nicht e<strong>in</strong>mal kann das Fenster geschlossen wer<strong>de</strong>n, und die Applikation muß (nach <strong>de</strong>m<br />

Schließen <strong>de</strong>s Frame) mit "CTRL-C" explizit abgebrochen wer<strong>de</strong>n.<br />

3.1.2 Ereignisbehandlung unter grafischen Benutzeroberflächen<br />

Im Mittelpunkt <strong>de</strong>r Programmierung unter e<strong>in</strong>er GUI steht die Kommunikation<br />

zwischen System und Anwendungsprogramm. Die Anwendung wird über alle Arten<br />

von Ereignissen und Zustandsän<strong>de</strong>rungen vom System durch Versen<strong>de</strong>n von<br />

Nachrichten (z.B. über Mausklick, Tastature<strong>in</strong>gaben, Verän<strong>de</strong>rungen an Größe und<br />

Lage <strong>de</strong>r Fenster) <strong>in</strong>formiert. Die Reaktion auf die Nachrichten erfolgt <strong>in</strong> spezielllen<br />

Ereignisempfängern (EventListeners), die das zum Ereignis passen<strong>de</strong> Empfänger-<br />

Interface implementieren. Damit e<strong>in</strong> Ereignisempfänger Nachrichten e<strong>in</strong>er<br />

bestimmten Ereignisquelle erhält, muß er sich bei <strong>de</strong>r Quelle registrieren lassen, d.h.:<br />

Es muß e<strong>in</strong>e EventListener-Klasse geschrieben, <strong>in</strong>stanziert und bei <strong>de</strong>r<br />

Ereignisquelle registriert wer<strong>de</strong>n. Zum Empfang von Nachrichten muß e<strong>in</strong> Objekt<br />

e<strong>in</strong>e Reihe von Metho<strong>de</strong>n implementieren, die von <strong>de</strong>r Nachrichtenquelle, bei <strong>de</strong>r es<br />

sich registriert hat, aufgerufen wer<strong>de</strong>n können. Die Ereignisempfänger stellen diese<br />

Metho<strong>de</strong>n durch Implementierung von Interfaces bereit, die aus <strong>de</strong>r Klasse<br />

EventListener <strong>de</strong>s Pakets java.util abgeleitet s<strong>in</strong>d.<br />

205

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!