Java Swing: Menüs
Willemers Informatik-Ecke
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.

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