单击jmenu调用actionperformed方法

时间:2012-09-21 09:40:46

标签: java swing events awt jmenu

我可以使用swing

调用带有jmenu的actionperformed方法吗?

我正在使用以下代码

     JMenu menu1= new JMenu("File");
     MenuBar mb= new MenuBar();
      mb.add(menu1);
      set JmenuBar(mb)
     menu1.addActionListener(this);


  public void actionPerformed(ActionEvent ae)
  {

      JOptionPane.showMessaageDialog(null,"menu clicked");
     // but its not working


      }

先谢谢

1 个答案:

答案 0 :(得分:3)

JMenu旨在执行的操作是使用JMenuItems打开弹出窗口,它不支持执行任何其他操作(即使它确实如此,也会使您的用户感到困惑)。自定义操作应该由弹出窗口中的JMenuItems处理。用以下内容安装它们:

JMenu menu ..
Action myAction = new AbstractAction("Do XY") {
    public void actionPerformed(..) {
        // implement doing XY
    } 
};
menu.add(myAction);