Es gibt zwei Arten von Menüs: ein Dropdown-Menü und ein Popup-Menü. In diesem Kapitel wird nur die Programmiermethode für Dropdown-Menü erläutert. Das Menü unterscheidet sich von Jcombobox und JCheckbox und sie sind in der Schnittstelle immer sichtbar. Das Gleiche über das Menü mit JcomBobox ist, dass gleichzeitig nur ein Element ausgewählt werden kann.
Das Auswählen einer Option im Dropdown-Menü oder im Popup-Menü generiert ein Action-Event-Ereignis. Das Ereignis wird an den Monitor dieser Option gesendet, und die Bedeutung des Ereignisses wird durch den Monitor erläutert.
Menüleisten, Menüs und Menüelemente
Das Dropdown-Menü wird durch den Namen in der Menüleiste visualisiert. Es gibt zwei Möglichkeiten, das Dropdown-Menü zu aktivieren. Einer besteht darin, die Maustaste zu drücken und sie gedrückt zu halten, die Maus zu bewegen, bis die Maus freigegeben wird, um die Auswahl abzuschließen, und das mit hohe Helligkeit angezeigte Menüelement ist die ausgewählte. Eine andere Möglichkeit besteht darin, auf die Maus zu klicken, wenn sich der Cursor in der Menüleiste im Menünamen befindet. In diesem Fall wird das Menü erweitert und die Menüelemente mit hoher Helligkeit angezeigt.
Eine Menüleiste kann mehrere Menüs (JMenu) enthalten, und jedes Menü kann viele Menüelemente haben (JMenuitem). Zu den Menüleisten der Eclipse -Umgebung gehören beispielsweise Datei, Bearbeiten, Quelle, Refaktor und andere Menüs, und jedes Menü enthält viele Menüelemente. Das Dateimenü enthält beispielsweise Menüelemente wie neu, öffnen Sie die Datei, schließen Sie alle.
Die Methode zum Hinzufügen von Menüs zum Fenster ist: Erstellen Sie zuerst ein Menüobjekt, erstellen Sie mehrere Menüobjekte, platzieren Sie diese Menüobjekte in der Menüleiste und fügen Sie dann jedem Menüobjekt nach Bedarf Menüelemente hinzu.
Menüelemente im Menü können auch ein komplettes Menü sein. Da das Menüelement wieder ein weiteres komplettes Menü sein kann, kann eine hierarchische Menüstruktur erstellt werden.
1. Menüleiste
Ein Beispiel für JMenubar ist eine Menüleiste. Zum Beispiel erstellt der folgende Code eine Menuubar -Menuubar -Objekt -Objekt:
JMenuuBar MenuBar = New JMenubar ();
Um eine Menüleiste im Fenster hinzuzufügen, müssen Sie die Methode setJMenuBAR () in der JFRAME -Klasse verwenden. Zum Beispiel Code:
setjmenubar (Menubar);
Häufige Methoden von JMenubar sind:
2. Menü <br /> Das von der Klasse JMenu erstellte Objekt ist das Menü. Häufige Methoden der JMenu -Klasse sind wie folgt:
3. Menüpunkt <br /> Ein Beispiel für die Klasse JMenuitem ist ein Menüelement. Häufige Methoden der Klasse JMenuitem sind wie folgt:
4. Handle Menüereignisse <BR /> Die Ereignisquelle des Menüs besteht darin, mit der Maus auf einen Menüelement zu klicken. Die Schnittstelle, die dieses Ereignis übernimmt, ist ActionListener, und die zu implementierende Schnittstellenmethode ist ActionPerformed (actionevent e) und die Methode, um die Ereignisquelle Getource () zu erhalten.
[Beispiel] Die Implementierungsmethode des Small Application Diagramm -Fensters enthält eine Menüleiste. Es gibt eine Schaltfläche. Wenn ein Menüelement ausgewählt ist, zeigt die Methode zur Überwachung der Menüelement das entsprechende Menüelement an, das im Textfeld ausgewählt wurde.
Java.applet importieren. ActionListener) {JMenuitem Anitem = New JMenuitem (Menuname); (s); ; "Singen", dies); ; ! ");}} öffentliche Klasse Beispiel6_5 erweitert Applet implementiert ActionListener {Menüwindow -Fenster; = neuer Menüwindow ("Sport und Unterhaltungsfenster", 100.100). ) {Window.Setvisible (True); ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::: )n;}}}}} 5. Einbettete Untermenü <br /> Ein Menü wird erstellt und mehrere Menüelemente werden erstellt, und eines der Menüelemente ist ein weiteres Menü (einschließlich anderer Menüelemente), das das Menünisten darstellt. Ändern Sie beispielsweise den relevanten Code im obigen Programm in Folgendes:
Menü1, Menü2, Item4;
Fügen Sie den folgenden Code ein, um Element41- und Element42 -Menüelemente zu erstellen, und fügen Sie sie dem Menü item4 hinzu:
item41 = neuer MenuTem ("Dongfanghong");
Wenn Sie dann auf das Menü item4 klicken, werden zwei Menüelemente zur Auswahl geöffnet.
6. Fügen Sie ein neues Menüelement hinzu, um dem Menüelement eine neue Menüelement hinzuzufügen. Verwenden Sie das System . Zum Beispiel der folgende schematische Code:
… Item 7 = neuer Menuitem ("exit"); potection7.addactionListener (this);… public void actionPerformed (actionEvent e) {if (e.getSource () == item7) {System.e xit (0);}}} 7. Setzen Sie Verknüpfungsschlüssel für Menüelemente <BR /> Verwenden Sie die Menushortcut -Klasse, um Tiefpunkttasten für Menüelemente festzulegen. Die Konstruktionsmethode ist Menushortcut (int Schlüssel). Der Schlüssel kann als Werte keyEvent.vk_a an kenevent.vk_z oder als 'a' bis 'z' Schlüsselcodewert verwendet werden. Menüelemente verwenden die Methode SetShortCut (Menushortcut K), um Verknüpfungsschlüsse festzulegen. Der folgende Code legt beispielsweise den Buchstaben E als Abkürzungschlüssel fest.
Klasse Herwindow erweitert Rahmen ActionListener {Menuumuubar;Wählen Sie die Menüelemente des Feldes
Das Menü kann auch Optionen mit anhaltenden Auswahlzuständen enthalten, und dieses spezielle Menü kann in der JCheckBoxMenuitem -Klasse definiert werden. Wie bei einem Auswahlfeld kann das JCheckBoxMenuitem-Objekt angeben, ob eine Option ausgewählt ist oder nicht, oder es kann als Menüelement zum Dropdown-Menü hinzugefügt werden. Wenn Sie auf das Menü JCheckBoxMenuitem klicken, wird das Zeckensymbol auf der linken Seite angezeigt oder das Zeckensymbol löschen. Stellen Sie beispielsweise in der Menüwindow -Klasse des Programms in Beispiel 6.5 den Code ein
AddItem (Menü1, "Running", dies);
Schreiben Sie es in den folgenden Code um, ändern Sie die beiden gewöhnlichen Menüelemente "Ausführen" und "Springen ausführen" in zwei Menüelemente des Auswahlfelds:
JCheckBoxeMenuStem Item1 = New JCheckBoxMenuitem ("Running"); "Seil überspringen"); item2.addactionListener (this); Menü1.Add (Item2);