I added right-click submenu to my program with the following code,
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());
And edit strokemethod is
private void editStroke(ActionEvent e, Linez finalResult) {
System.out.println(e.getActionCommand());
}
but when I compile and right click to somewhere, only “1 px” link is working and when I click the other links, nothing happens. What is more, when I click “1 px” the output is
1 px 1 px 1 px
How should I solve this problem ?
Thanks.
You have a copy-paste error. All three items are
menuItem1.addActionListener(new ActionListener(){