有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

swing Java子菜单ActionListener无法正常工作

我用以下代码在程序中添加了右键单击子菜单

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());
        }

但当我编译并右键单击某个地方时,只有“1px”链接起作用,而当我单击其他链接时,什么也没发生。更重要的是,当我点击“1像素”时,输出是

1 px 1 px 1 px

我该如何解决这个问题

谢谢


共 (1) 个答案

  1. # 1 楼答案

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

    menuItem1.addActionListener(new ActionListener(){