J'ai écrit du code pour effectuer un événement click sur JMenuItem mais cela ne déclenche pas lorsque je débogue. (Je sais que je ne suis pas censé poser ces questions dans ce forum mais je suis nouveau sur ce forum)JMenuitem - cliquez sur - action - Java
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());
}
}
Dans cet appel, j'ai créé un objet
public class ClsMenuDisp {
public static void main(String[] args) {
// TODO Auto-generated method stub
ClsMenu menu=new ClsMenu("testitem");
menu.createGUIandShow();
}
}
Les objets GUI Swing doivent être construits et manipulés _only_ sur le [thread d'envoi d'événement] (http://download.oracle.com/javase/tutorial/uiswing/concurrency/initial.html). – trashgod
Notez que tous les concreate JSomething sont destinés à _using_ (vs extension). Ou l'inverse: si vous vous voyez les étendre, il y a une forte probabilité que vous fassiez quelque chose de mal ;-) – kleopatra