Java подменю ActionListener не работает должным образом - PullRequest
1 голос
/ 07 октября 2011

Я добавил контекстное меню в свою программу с помощью следующего кода,

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

И редактировать инсульт метод это

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

но когда я компилирую и щелкаю правой кнопкой мыши куда-то, работает только ссылка "1 px", а когда я нажимаю другие ссылки, ничего не происходит. Более того, когда я нажимаю «1 px», вывод будет

1 px 1 px 1 px

Как мне решить эту проблему?

Спасибо.

1 Ответ

3 голосов
/ 07 октября 2011

У вас ошибка копирования-вставки. Все три предмета

menuItem1.addActionListener(new ActionListener(){

...