2011-10-07 42 views
1

我添加右鍵點擊子菜單來我的程序用下面的代碼,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()); 
     } 

,但是當我編譯,右擊某處,只有「1 px」鏈接正在工作,當我點擊其他鏈接時,沒有任何反應。更重要的是,當我點擊 「1個像素」 輸出

1 PX 1個PX 1個PX

我應該如何解決這個問題?

謝謝。

回答

3

您有複製粘貼錯誤。全部三項都是

menuItem1.addActionListener(new ActionListener(){

+0

哦對不起! =),並且非常感謝 – CanCeylan

+1

趕上我的+1 – mKorbel