我不知道标题是否可以理解。 无论如何,我有一些JMenuItems,为此我设置了mouseListener。
mntmExtractPaleographyFeature.addMouseListener(this);
其中 mntmExtractPaleographyFeature 是JMenuitem,而此是实现 MouseListener 的类。
所以我为mouseListener添加了像
这样的方法@Override
public void mouseReleased(MouseEvent arg0) {
if(arg0.getSource()==mntmExtractPaleographyFeature) {
//Code Here
}
现在我有了这个JButton extractPaleographyB ,它与JMenuItem完全相同。我不想复制/粘贴代码两次(也因为它不是唯一的按钮/ jmenuitem)。我试过
extractPaleographyB.addMouseListener(mntmExtractPaleographyFeature.getMouseListeners()[1]);
但它不起作用。有什么想法吗?
答案 0 :(得分:2)
创建Action并用于菜单项和按钮
教程
中的一段代码compileGroovy
要创建Action对象,通常要创建AbstractAction的子类,然后实例化它。在子类中,必须实现actionPerformed方法,以便在发生操作事件时作出适当的反应。这是创建和实例化AbstractAction子类的示例:
Action leftAction = new LeftAction(); //LeftAction code is shown later
...
button = new JButton(leftAction)
...
menuItem = new JMenuItem(leftAction);