java - 单击 jmenu 时调用 actionperformed 方法

标签 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


      }

提前致谢

最佳答案

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

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

关于java - 单击 jmenu 时调用 actionperformed 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12528018/

相关文章:

java - 运行时注释设计和性能

java - java中如何获取用户的ip地址

javascript - HTML 输入元素没有方法 'isValid'

javascript - 在循环中添加 'click' 事件监听器

.net - "Custom Event"在 VB.Net 中如何工作?

java - 如何在单个事务中最好地加载多个数据库条目?

java - 从其子类的实例访问父类(super class)的属性

java - 声明 JFrame 变量的最佳位置

java - 检查 jTable 数据中的重复行

java - 如果组件是 jlabel,则获取文本