我在JFrame中放置了一个JMenuBar, 现在JMenuBar里面有15个JMenus,而且还有超过 每个JMenus里面有10个JMenuItems。
现在我第一次写超过150行非常困难 每个JMenuBar组件的AddMouseListener和JMenuItem类似的
当你不得不写作时,更多的头痛会增加 evt.getSource == JMenu1或evt.getSource == JMenuItem1,所以最后我要求执行MouseListener事件 特别是JMenu或JMenuItem,
请帮助......
答案 0 :(得分:1)
我没有您的代码示例,但是通过减少和重复使用代码,您可以了解自己可以做些什么:
JPopupMenu popup = new JPopupMenu();
popup.add(makeMenuItem("menuitem1"));
private JMenuItem makeMenuItem(String label) {
JMenuItem item = new JMenuItem(label);
item.addActionListener(this);
return item;
}
在您的情况下,只需将代码修改为JMenuBar和AddMouseListener,如果这些是您的选择。至于evt.getSource
比较,您可能希望将MenuItem存储在数组中,然后只执行比较循环。