java – JMenu ActionListener
发布时间:2020-12-15 07:37:34 所属栏目:Java 来源:网络整理
导读:我想知道你是否可以测试是否点击了JMenu(而不是JMenuItem).我尝试添加一个ActionListener但它似乎没有认出它.我只需要在按下JMenu按钮时执行操作,以便我可以更改该菜单的JMenuItem,因为它打开了.欢迎所有工作以获得这个结果! 谢谢 解决方法 对于JMenu使用Me
我想知道你是否可以测试是否点击了JMenu(而不是JMenuItem).我尝试添加一个ActionListener但它似乎没有认出它.我只需要在按下JMenu按钮时执行操作,以便我可以更改该菜单的JMenuItem,因为它打开了.欢迎所有工作以获得这个结果!
谢谢 解决方法
>对于JMenu使用MenuListener
码 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ActionExample { public ActionExample() { JMenu menu = new JMenu("Menu"); menu.setMnemonic(KeyEvent.VK_M); menu.addMenuListener(new SampleMenuListener()); JMenu menu1 = new JMenu("Tool"); menu1.setMnemonic(KeyEvent.VK_T); menu1.addMenuListener(new SampleMenuListener()); JFrame f = new JFrame("ActionExample"); JMenuBar mb = new JMenuBar(); mb.add(menu); mb.add(menu1); f.setJMenuBar(mb); f.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { ActionExample actionExample = new ActionExample(); } }); } } class SampleMenuListener implements MenuListener { @Override public void menuSelected(MenuEvent e) { System.out.println("menuSelected"); } @Override public void menuDeselected(MenuEvent e) { System.out.println("menuDeselected"); } @Override public void menuCanceled(MenuEvent e) { System.out.println("menuCanceled"); } } >对于JMenuItem仅使用ButtonModel (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |