Wie man einen JMenu-Eintrag macht, wenn er angeklickt wird

9

Ich mache eine GUI mit einem Jmenu; Es hat die jmenu Elemente, die Dinge tun, wenn sie geklickt werden. Das ist das Problem. Ich habe geschaut und geschaut, aber ich kann nicht herausfinden, wie man etwas macht, wenn man klickt. Außerdem bin ich ein bisschen noob, also wenn du es auf eine ziemlich einfache Art machen könntest, wäre das großartig!

Hier ist der Code:

%Vor%

Übrigens: Ich möchte die Option "website" (damit wir jetzt erstmal arbeiten) die Methode launchURL verwenden; Ich weiß, dass man arbeitet.

    
PulsePanda 19.03.2012, 22:02
quelle

3 Antworten

10

A JMenuItem ist eine Form einer Schaltfläche ( AbstractButton ). Das normale Muster besteht darin, die Schaltfläche mit Action zu konstruieren (siehe Konstruktor von JMenuItem ). Der Action definiert den Namen und die auszuführende Aktion. Die meisten Leute erweitern AbstractAction und implementieren actionPerformed , das aufgerufen wird, wenn die Schaltfläche gedrückt wird.

Eine mögliche Implementierung könnte aussehen:

%Vor%

oder:

%Vor%

Beachten Sie, dass alles, was ich oben gesagt habe, auch für JButton gilt. Sehen Sie sich auch Javas sehr hilfreiches Anleitungen zur Verwendung von Aktionen an.

    
Steve Kuo 19.03.2012, 22:07
quelle
2

Sie müssen nur so einen ActionListener zu Ihrem JMenuItem1 hinzufügen:

%Vor%

und implementieren Sie dann die Aktion in jMenuItem1ActionPerformed (evt):

%Vor%

Für Ihren Code:

%Vor%

und:

%Vor%     
Costis Aivalis 19.03.2012 22:12
quelle
1

Um irgendwelche Aktionen in die Schaltfläche einzufügen, machen Sie einfach ein Objekt aus der Klasse, das die ActionListener-Schnittstelle implementiert:

%Vor%

Hier machen wir anonyme innere Objekte, die die Actionlistener-Schnittstelle implementieren, und überschreiben actionperfored-Methode, um ihre Arbeit zu erledigen

Ich mache einige Änderungen in Ihrem Code, um dem Java-Standard für die Benennungsklasse zu folgen und alle GUI-Komponenten im EDT zu erstellen.

%Vor%     
Wajdy Essam 19.03.2012 22:25
quelle