每次点击都会将对象添加到面板

时间:2013-04-09 08:53:41

标签: java swing actionlistener

这是我的弹出菜单按钮的actionListener我想在每次点击后在面板上添加这张图片

        mntmNewMenuItem.addActionListener(new ActionListener() {
        //This method will be called whenever you click the button.
          int i;
          public void actionPerformed(ActionEvent e) {
            try {
                label.setIcon(new ImageIcon
                 (new URL("file:/C:/Users/Ashad/JunoWorkspace/FYP1/table.png")));
            } catch (MalformedURLException e1) {
                e1.printStackTrace();
            }   
                panel.add(label); 
            //redraw panel after addition
                panel.validate();    
                panel.repaint();
                handleDrag(label);
              }
        });

1 个答案:

答案 0 :(得分:0)

您只能添加一次UI对象。

如果您只想添加一个实例,则需要删除该元素,然后添加。 (但似乎没有合理的删除然后添加)。

您可以在actionperformed

中创建一个Label()对象
public void actionPerformed(ActionEvent e) {
            label = new Label();//Added
            try {
                label.setIcon(new ImageIcon
                 (new URL("file:/C:/Users/Ashad/JunoWorkspace/FYP1/table.png")));
            } catch (MalformedURLException e1) {
                e1.printStackTrace();
            }