次のコードを使用して、プログラムに右クリック サブメニューを追加しました。
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 ピクセル
この問題を解決するにはどうすればよいですか?
ありがとう。