AWT Flashcards
Welche Bibliotheken müssen für ein Fenster mit Schließ-Mechanismus und Textfeld eingebunden werden?
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
Erzeuge ein Fenster
Frame f = new Frame()
Setze die Größe des Fensters
bezeichner.setSize(ppi,ppi);
hinzufügen eines textfelds im Fenster
f.add(new Label(„hier ist der Text“);
Schließfunktion des Fensters
f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } });
Fenster sichtbar machen
fensterbezeichner.setVisible(true);
Setze BorderLayout
bezeichner.setLayout(new BorderLayout());
Füge Textfeld hinzu
f.add(new TextField());
füge button ein
bezeichner.add(new Button(„ButtonText“));
füge Aktion am Button ein
buttonBezeichner.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
….;
}
lese text in Textfeld aus
getText()
Wodurch zeichnen sich Programmgerüste aus? Nennen Sie die wesentlichen Merkmale und erläutern Sie sie anhand eines Ihnen bekannten Beispiels
(Abs. 5.1) Ein Programmgerüst ist ein erweiterbares und anpassbares System von Klassen, das für einen allgemeinen, übergeordneten Aufgabenbereich eine Kernfunktionalität mit entsprechenden Bausteinen bereitstellt.
Beispiel: Java AWT zur Gestaltung von Benutzeroberflächen (vgl. Abs. 5.2.2.5)
„anpassbar“ Das AWT erlaubt die Anpassung der vordefinierten Komponenten, um z.B. die Darstellung auf dem Display des Benutzers oder das Verhalten der Komponenten anzupassen.
„erweiterbar“ Das AWT erlaubt die Definition eigener Komponenten, die selbst bei der Implementierung verschiedener Benutzeroberflächen wiederverwendet werden können.
„System von Klassen“ Die einzelnen Klassen des AWT sind eng miteinander gekoppelt. Um ihre eigene Aufgabe zu erledigen, müssen sie in der Regel viele Nachrichten mit Instanzen anderer Klassen austauschen, da sie von ihren Funktionalitäten abhängig sind.
„allgemeiner, übergeordneter Aufgabenbereich“ Das AWT unterstützt die Implementierung von Benutzeroberflächen im Allgemeinen, ohne Details, z.B. zu ihrem Aufbau, festzulegen.
„Kernfunktionalität“ Das AWT selbst bietet keine vordefinierte Benutzeroberfläche an, sondern lediglich die Bestandteile, um Elemente zu definieren, zu positionieren oder die Interaktion der Elemente festzulegen. Erst durch eine individuelle Konfiguration von Instanzen verschiedener Klassen entsteht eine darstellbare Benutzerschnittstelle.
Nennen Sie drei Eigenschaften des AWT, die dieses als Programmgerüst kennzeichnen.
Die Klassen des AWT stellen ein Programmgerüst dar, denn
• Sie bilden ein System, d.h. sie wirken relativ eng zusammen.
• Mit Hilfe dieser Klassen lässt sich eine allgemeine, für viele Anwendungsprogramme relevante softwaretechnische Aufgabe lösen, nämlich die Realisierung graphischer Bedienoberflächen.
• Das System von Klassen ist erweiterbar und anpassbar.
Woraus besteht das abstrakte GUI-Modell des AWT? Beschreiben Sie kurz seine drei Teile.
- Komponenten: Jedem Darstellungselement einer GUI entspricht im AWT ein Objekt vom Typ Component.
- Darstellung: Es muss beschrieben werden, wie die einzelnen Komponenten auf dem Bildschirm dargestellt werden und wie die Darstellungen der Komponenten angeordnet werden sollen.
- Ereignissteuerung: Das Fenstersystem benachrichtigt die Komponenten über Benutzereingaben und Veränderungen auf der Fensteroberfläche. Das Eintreffen derartiger Nachrichten über Benutzereingaben und Veränderungen bezeichnet man als ein Ereignis. Oft werden auch die Nachrichten selbst Ereignisse genannt. Die Komponenten leiten diese Nachrichten, ggf. in modifizierter Form, an sogenannte Beobachter-Objekte weiter, die die Steuerung der GUI übernehmen.
Was passiert, wenn an einer Komponente ein Ereignis auftritt, und wie kann eine GUI auf ein Ereignis reagieren?
- Eine Komponente muss bekannt geben, Ereignisse welcher Ereignissorten an ihr auftreten können.
- Jedes Objekt, das bestimmte Voraussetzungen erfüllt, kann sich bei Komponenten als Beobachter einer oder mehrerer der ihr zugeordneten Ereignissorten registrieren lassen. Im AWT werden diese Beobachter Listener genannt.
- Zum Zweck des Registrierens muss eine Komponente für jede der ihr zugeordneten Ereignissorten (oder für Teilmengen davon) Methoden zur Verfügung stellen, mit Hilfe derer sich an diesen Ereignissen interessierte Beobachter bei ihr registrieren können.
- Tritt an einer Komponente k ein Ereignis der Sorte ESEvent auf, werden alle Beobachter davon benachrichtigt, die bei k für ESEvent registriert sind. Die Benachrichtigung erfolgt durch Aufruf der das Ereignis identifizierenden Methode auf jedem der registrierten Beobachterobjekte. Um einen solchen Aufruf zu ermöglichen, müssen die Beobachter bestimmten Regeln genügen.