| Swing Kontrollelemente | Swing Dialoge |
Moderne Programme besitzen eine Menüleiste. Es ist die einfachste Art, den Anwender über den Umfang der Möglichkeiten des Programms zu informieren.
- Die Querleiste, an der die Menüs aufgehängt werden, heißt JMenuBar.
Ein Objekt dieser Klasse wird durch die Methode
setMenuBar in einen JFrame gehängt.
- Ein Menü - wie beispielsweise das Datei-Menü - kann mehrere Punkte
aufnehmen und heißt JMenu. Menüs werden mit der Methode add
in der JMenuBar eingehängt.
- Die Menüpunkte, die durch Anklicken zu einer Aktion führen, heißen
JMenuItem.
- Ein JMenuItem löst wie ein JButton ein Action-Event aus, das mit einem ActionListener gefangen wird.
Das folgende Beispielprogramm baut einen Menübaum auf und löst beim Anklicken der Items Standarddialoge aus oder beendet das Programm.
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.GridLayout;
import java.awt.event.*;
public class Menue extends JFrame implements ActionListener {
JMenuItem dateiOeffnen, dateiSpeichern, dateiSpeichernUnter, dateiQuit;
JMenuItem hilfeUeber;
JLabel labName;
Menue() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new GridLayout(2, 1));
add(new JLabel("Hier könnte Ihre Werbung stehen!"));
labName = new JLabel("---nichts---");
add(labName);
JMenuBar leiste = new JMenuBar();
JMenu datei = new JMenu("Datei");
leiste.add(datei);
dateiOeffnen = new JMenuItem("Öffnen...");
datei.add(dateiOeffnen); dateiOeffnen.addActionListener(this);
dateiSpeichern = new JMenuItem("Speichern");
datei.add(dateiSpeichern); dateiSpeichern.addActionListener(this);
dateiSpeichernUnter = new JMenuItem("Speichern unter...");
datei.add(dateiSpeichernUnter); dateiSpeichernUnter.addActionListener(this);
dateiQuit = new JMenuItem("Ende");
datei.add(dateiQuit); dateiQuit.addActionListener(this);
JMenu hilfe = new JMenu("Hilfe");
leiste.add(hilfe);
hilfeUeber = new JMenuItem("Ende");
hilfe.add(hilfeUeber); hilfeUeber.addActionListener(this);
setJMenuBar(leiste);
pack();
setVisible(true);
}
public static void main(String[] args) {
new Menue();
}
@Override public void actionPerformed(ActionEvent ev) {
if (ev.getSource()==dateiOeffnen) {
JFileChooser auswahl = new JFileChooser();
if (auswahl.showOpenDialog(this)==JFileChooser.APPROVE_OPTION) {
labName.setText(auswahl.getSelectedFile().getName());
}
} else if (ev.getSource()==dateiSpeichern) {
} else if (ev.getSource()==dateiSpeichernUnter) {
JFileChooser auswahl = new JFileChooser();
if (auswahl.showSaveDialog(this)==JFileChooser.APPROVE_OPTION) {
labName.setText(auswahl.getSelectedFile().getName());
}
} else if (ev.getSource()==dateiQuit) {
System.exit(0);
} else if (ev.getSource()==hilfeUeber) {
JOptionPane.showMessageDialog(null, "Eine Menüdemonstration");
} else {
} else {
JOptionPane.showMessageDialog(null, "Was ist das?");
}
}
}
| Swing Kontrollelemente | Swing Dialoge |