12.1.2 Swing
12.1.2 SwingDie folgenden Seiten zeigen einen stark vereinfachten Überblick über die wichtigsten Swing Klassen und Methoden. Es werden hier nur die Klassen und Methoden dokumentiert, die im Rahmen des Kurses benötigt werden.
- 4722 views
JFrame
JFrameDie Klasse JFrame erlaubt das Erzeugen von eigenen Fenstern für eine Javaanwendung.
Die API Dokumentation zur Klasse JFrame enthält die vollständige Dokumentation aller Methoden dieser Klasse.
Im Folgenden werden die wichtigsten Methoden (für den Kontext des Kurses) in ihrer natürlichen Benutzungsreihenfolge vorgestellt.
Methode | Beschreibung | Geerbt von |
---|---|---|
Konstruktor: JFrame() | Erzeugen eines (noch) unsichtbaren Fensters ohne einen Titel | - |
Konstruktor: JFrame(String title) | Erzeugen eines (noch) unsichtbaren Fensters mit einem Titel | - |
void setSize(int breite, int hoehe) | Setzen der Fenstergröße durch Breite und Höhe in Pixel | java.awt.Window |
setLayout(LayoutManager manager) | Durch das Setzen eines Layout Managers wird die Anordnung der Komponenten vorbestimmt | - |
Component add(Component comp) | Hinzufügen einer Komponente zum Container | java.awt.Container |
setJMenuBar(JMenuVar menubar) | Hinzufügen einer Menüleiste zum Fenster | - |
setDefaultCloseOperation(int Operation) | Aktion die beim Schließen des Fensters geschieht. Mögliche Konstanten als Parameter: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, EXIT_ON_CLOSE | - |
pack() | Berechnen des Layouts des Fensters | java.awt.Window |
setVisible(boolean visible) | Erlaubt ein Fenster anzuzeigen oder auszublenden | java.awt.WIndow |
Beispiel... eines sehr einfachen Fensters welches mit der Klasse JFrame erzeugt wurde: import javax.swing.JFrame; |
Ergibt das folgende Fenster:
|
Anmerkung: Das hier gezeigte Fenster benutzt das Standard "Look and Feel" von MacOS. Die Rahmendekoration sieht bei anderen Betriebssystemen bzw. anderen "Loak and Feel" Themen anders aus. Der oben gezeigt Code ist jedoch plattformneutral.
- 4003 views
JMenuBar, JMenu, JMenuItem
JMenuBar, JMenu, JMenuItemDie Klassen JMenuBar, JMenu, JMenuItem , erlauben Konfiguration von Menüleisten, Pulldownmenüs und Menülisteneinträge für Fenster die mit JFrame erzeugt wurden.
Im Folgenden werden die wichtigsten Methoden (für den Kontext dieses Kurses) aufgeführt. Die obengenannten Klassen sind sehr viel mächtiger als hier beschrieben. Sie haben zusätzliche Methoden für:
- Lokalisierung
- unterschiedliche Arten von Menüeinträgen
- konfigurierbares Look and Feel
- Untermenüs
- markieren von Einträgen
- Anklicken durch Buchstaben Abkürzungen der Tastatur
- etc.
Die Klasse JMenuBar
Methode | Beschreibung | Geerbt von |
---|---|---|
Konstruktor: JMenuBar() | Erzeugen einer Menüleiste für ein JFrame Fenster | - |
JMenu add(JMenu c) | Hinzufügen eines Menüs zur Leiste | - |
Die Klasse JMenu
Methode | Beschreibung | Geerbt von |
---|---|---|
Konstruktor: JMenu() | Erzeugen einer Menüspalte am Ende der Menüleiste | - |
Konstruktor: JMenu(String title) | Erzeugen einer Menüspalte mit Titel am Ende der Menüleiste | - |
JMenuItem add(JMenuItem c) | Hinzufügen eines Menüeintrags am Ende des Menüs | - |
Die Klasse JMenuItem
Methode | Beschreibung | Geerbt von |
---|---|---|
Konstruktor: JMenuItem(String text) | Erzeugen eines Menüeintrags mit einem gegebenen Text | - |
void addActionListener(ActionListener l) | Registrieren eines Listeners der aufgerufen wird wenn der Menülisteneintrag geklickt wird | java.swingx.AbstractButton |
void setEnabled(boolean) | Anzeigen oder ausblenden eines Menülisteneintrags | - |
Beispiel
... Menüs mit einem einzigen Eintrag :
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; ... JFrame hf = new JFrame(); JMenuBar menueleiste; JMenu ablageMenue; JMenuItem beendenMenueEintrag; menueleiste = new JMenuBar(); ablageMenue = new JMenu("Ablage"); beendenMenueEintrag = new JMenuItem("Beenden"); beendenMenueEintrag.addActionListener(this); beendenMenueEintrag.setEnabled(true); ablageMenue.add(beendenMenueEintrag); menueleiste.add(ablageMenue); hf.setJMenuBar(menueleiste); hf.setVisible(true);
Einen einfachen Actionlistener kann man als Klasse mit der folgenden Methode implementieren:
public void actionPerformed(ActionEvent e) {JMenuItem source = (JMenuItem) (e.getSource());if (source == beendenMenueEintrag)System.exit(0);}
beendenMenueEintrag muss hier auf das gleiche Objekt wie bei der obigen Erzeugung der Menüleiste zeigen. Der Actionlistener beendet die Anwendung bei Aufruf!
Hierdurch ergibt sich das folgende Fenster:
Anmerkung: Das hier gezeigt Fenster benutzt das Standard "Look and Feel" von MacOS. Die Rahmendekoration sieht bei anderen Betriebssystemen bzw. anderen "Look and Feel" Themen anders aus. Der oben gezeigt Code ist jedoch plattformneutral.
- 8256 views