JMenuitem - Klick - Aktion - Java
Ich habe code geschrieben, um auszuführen, klicken Sie auf Ereignis auf JMenuItem aber das wird nicht gefeuert, wenn ich am Debuggen. (Ich weiß, dass ich bin eigentlich nicht zu Fragen, diese Fragen in diesem forum aber ich bin neu hier im forum)
public class ClsMenu extends JMenuItem implements ActionListener {
JTextArea output;
JScrollPane scrollPane;
public ClsMenu(String text)
{
super(text);
addActionListener(this);
}
public JMenuBar createMenu()
{
JMenuBar menuBar;
JMenu menuFood,menuDrinks,menuParty;
JMenuItem foodItem;
menuBar=new JMenuBar();
menuFood=new JMenu("Food");
foodItem=new JMenuItem("Pizza");
menuFood.add(foodItem);
menuBar.add(menuFood);
return menuBar;
}
public void createGUIandShow()
{
JFrame frame = new JFrame("Restuarant");
frame.setJMenuBar(createMenu());
}
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
System.out.println("item clicked"+e.getActionCommand());
}
}
In diesem Aufruf, ich habe ein Objekt erstellt
public class ClsMenuDisp {
public static void main(String[] args) {
//TODO Auto-generated method stub
ClsMenu menu=new ClsMenu("testitem");
menu.createGUIandShow();
}
}
- Swing-GUI-Objekte werden sollte, konstruiert und manipuliert wird, nur auf die " event-dispatch-thread.
- Beachten Sie, dass alle konkreten JSomething sind gedacht für die Verwendung (vs. erweitert). Oder Umgekehrt: wenn Sie sich selbst sehen, Sie zu erweitern, es gibt eine hohe Wahrscheinlichkeit, dass Sie etwas falsch machen 😉
InformationsquelleAutor dotnetrocks | 2012-01-13
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie Ihre
ActionListener
auf die Menü-Elemente, die Sie hinzufügen, die dieJMenu
. Was Sie tun, ist ein Menüeintrag, der eine action-listener. Dann mit Hilfe einer Instanz-Methode der Menüpunkt zum erstellen einer vollständig unabhängigenJMenuBar
/JMenu
/JMenuItem
dass ist dann angebracht, um dieJFrame
.Ihre
ClsMenu
Klasse implementiertActionListener
, aber es ist nicht von der Umsetzung einer solchen Schnittstelle, erhalten Sie automatisch Ereignisse.Sollten Sie Ihre
ActionListener
zu dem Objekt, das Sie interessiert sind, so dass das Objekt weiß, es sollte Sie warnen den Hörer in der entsprechenden Zeit. In Ihrem Fall, Sie interessiert sind in das Menü, so sollten Sie Ihre Zuhörer zu.Einige Referenz-links:
ActionListener
tutorialBin ich einige code schreiben, kann nützlich sein für Sie zu sehen, als Beispiel: link hier.
Es gibt auch ein gutes tutorial hier, die ist, wo ich basiert mein code auf.