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 |