1

次のコードを使用して、プログラムに右クリック サブメニューを追加しました。

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 ピクセル 1 ピクセル 1 ピクセル

この問題を解決するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

3

コピー&ペースト エラーがあります。3つのアイテムはすべて、

menuItem1.addActionListener(new ActionListener(){

于 2011-10-07T18:49:34.070 に答える