0

我可以使用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


      }

提前致谢

4

1 回答 1

3

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

JMenu menu ..
Action myAction = new AbstractAction("Do XY") {
    public void actionPerformed(..) {
        // implement doing XY
    } 
};
menu.add(myAction);  
于 2012-09-21T09:50:51.777 回答