next up previous contents
Nächste Seite: Grafik, Events und Anwendungsbeispiele Aufwärts: Menüs Vorherige Seite: Menüs   Inhalt

Menüleisten verwenden

Im folgenden Beispiel enthält eine Menüleiste zwei Menüs (``Datei'', ``Hilfe''), deren Einträge weitere Fenster öffnen bzw. die Anwendung beenden.

public class MenuTest extends Frame implements ActionListener{
    MenuItem Eingabe;
    MenuItem Ende;
    MenuItem Info;

    public MenuTest() {
        MenuBar MenuLeiste = new MenuBar();
        Menu MenuPunkt = new Menu("Datei");
        Eingabe = new MenuItem("Eingabe");
        Eingabe.addActionListener(this);
        Ende = new MenuItem("Exit");
        Ende.addActionListener(this);
        MenuPunkt.add(Eingabe);
        MenuPunkt.add(Ende);
        MenuLeiste.add(MenuPunkt);
        Menu Hilfe = new Menu("Hilfe");
        Info = new MenuItem("Info");
        Info.addActionListener(this);
        Hilfe.add(Info);
        MenuLeiste.add(Hilfe);
        setMenuBar(MenuLeiste); 
    }

    public void actionPerformed (ActionEvent e) {
        if (e.getSource() == Ende) System.exit(0);
        if (e.getSource() == Eingabe) {
            Frame Texteingabe = new Frame("Texteingabe");
            Texteingabe.setSize(300,100);
            Texteingabe.setLocation(200,200);
            TextField eingabe = new TextField("Text hier eingeben:", 30);
            Texteingabe.add(eingabe);
            Texteingabe.show();
        }
        if (e.getSource() == Info) {
            Frame HilfeText = new Frame("Online Hilfe");
            Label text = new Label("Dies ist die wertvolle Anwendung...");
            HilfeText.add(text);
            HilfeText.setSize(400,70);
            HilfeText.setLocation(300,250);
            HilfeText.show();
        }
    }

    public static void main (String [] args) {
        MenuTest prog = new MenuTest();
        prog.setLocation(100,100);
        prog.setSize(300,200);
        prog.show();
    }
}


\includegraphics[width=10cm]{MenuTest.ps}

Die Bezeichnung eines Menüeintrages kann mit der Methode setLabel() verändert werden; getLabel() gibt die Bezeichnung eines Menüpunktes zurück. Menüpunkte, die Optionen ein- und ausschalten sollen, werden mit CheckboxMenuItem() erzeugt, deren Status über die Methoden getState() und setState() gelesen bzw. gesteuert werden.



Alfred Nussbaumer 2003-02-10