Java子菜单ActionListener不能正常工作

时间:2011-10-07 18:47:16

标签: java swing events actionlistener submenu

我使用以下代码

在程序中添加了右键单击子菜单
JPopupMenu pmenu = new JPopupMenu("Menu");

            JMenu sectionsMenu = new JMenu("Tickness"); 
            JMenuItem menuItem1 = new JMenuItem("1 px", gif1);
            menuItem1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    editStroke(e, finalResult);
                }
            });
            sectionsMenu.add(menuItem1);

            JMenuItem menuItem2 = new JMenuItem("2 px", gif2);
            menuItem1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    editStroke(e, finalResult);
                }
            });
            sectionsMenu.add(menuItem2);


            JMenuItem menuItem3 = new JMenuItem("3 px", gif2);
            menuItem1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    editStroke(e, finalResult);
                }
            });
            sectionsMenu.add(menuItem3);

pmenu.add(sectionsMenu);
pmenu.show(e.getComponent(), e.getX(), e.getY());

编辑strokemethod

        private void editStroke(ActionEvent e, Linez finalResult) {
            System.out.println(e.getActionCommand());
        }

但是当我编译并右键单击某处时,只有“1 px”链接正常工作,当我点击其他链接时,没有任何反应。更重要的是,当我点击“1 px”时,输出是

  

1 px 1 px 1 px

我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:3)

您有复制粘贴错误。这三个项目都是

menuItem1.addActionListener(new ActionListener(){