~Java4Beginners~
~Java4Beginners~

JMenu

Nach dem Erstellen unserer JMenuBar wird es Zeit, die MenuBar mit Leben zu füllen. Dieses wird in Java mit der Klasse JMenu verwirklicht. Hierfür wird als erstes ein Objekt der Klasse JMenu erstellt, welches dann der JMenuBar hinzugefügt wird.

Notwendige imports


import javax.swing.JMenu;

Deklaration


private JMenu jm_spiel, jm_einstellung, jm_highscore, jm_hilfe, jm_beenden;
In meinen Programmen verwende ich für ein JMenu die Präfix jm.

Beispiel für das Erstellen der JMenu

Folgendes Beispiel ist die Weiterführung der Menüleiste, welche im Kapitel JMenuBar begonnen hat.

    private void setMenuBar()
    {
        bo_menuBar = new LineBorder(Color.BLACK);
        jmb_menuBar = new JMenuBar();
        jm_spiel = new JMenu("Spiel");
        jm_einstellung = new JMenu("Einstellungen");
        jm_highscore = new JMenu("Highscore");
        jm_hilfe = new JMenu("Hilfe");
        jm_beenden = new JMenu("Beenden");
        jmb_menuBar.add(jm_spiel);
        jmb_menuBar.add(jm_einstellung);
        jmb_menuBar.add(jm_highscore);
        jmb_menuBar.add(jm_hilfe);
        jmb_menuBar.add(jm_beenden);
        jmb_menuBar.setBorder(bo_menuBar);
        this.setJMenuBar(jmb_menuBar);
    }
Wie an diesem Beispiel ersichtlich, wurde dem JMenu-Objekt im Konstruktor gleich der String übergeben, welcher als Menüpunkt angezeigt werden soll. Alternativ wäre es möglich, ein leeres JMenu-Objekt zu erstellen und mit der Methode setText("Menüpunktname") den Menüpunkt zu benennen.

Tooltip anzeigen lassen

JMenu stellt die Möglichkeit zur Verfügung, sich bei überfliegen mit der Maus einen Tooltip-Text anzeigen zu lassen. Dieses Attribut kann verwendet werden, um grob anzugeben, was den Benuter innerhalb eines Menüpunktes erwartet, ohne dass er das Menü öffnen muss. Das Attribut kann mit der Methode setToolTipText("String") gesetzt werden.

        jm_einstellung = new JMenu("Einstellungen");
        jm_einstellung.setToolTipText("Spieleinstellungen vornehmen");

Tastaturkombination mit Alt-Taste (MNemonic)

Als weitere hilfreiche Methode erweist sich setMnemonic('Char'). Hier wird ein aus Buchstabe aus unserem Menüpunktnamen ausgewählt. Dieser wird bei der Programmausführung unterstrichen im Menüpunkt angezeigt. Mit der Alt-Taste und dem Buchstaben wird das Menü dann direkt aufgeklappt. (Was allerdings erst ersichtlich ist, wenn wir die Untermenüpunkte hinzugefügt haben.)

    jm_beenden.setMnemonic('B');

JMenu als Untermenüpunkte

Manchmal wird es notwendig, weitere JMenu-Objekte als Untermenüpunkte einzubinden. Hierfür werden einem JMenu an Stelle eines JMenuItems ein JMenu hinzugefügt.

        jm_einstellung = new JMenu("Einstellungen");
        jm_einstellung.setToolTipText("Spieleinstellungen vornehmen");
        jm_einstellung.setMnemonic('E');
        jm_gamePanel = new JMenu("Spielfeldgröße");
        jm_gamePanel.setMnemonic('f');
        jm_bombCount = new JMenu("Bomebenanzahl");
        jm_bombCount.setMnemonic('z');
        jm_einstellung.add(jm_gamePanel);
        jm_einstellung.add(jm_bombCount);     

nach oben Java4Beginners -- Seitenversion 1.01 -- Stand: 2017-04-30