0

这是我的弹出菜单按钮的 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);
              }
        });
4

1 回答 1

0

您只能添加一次 UI 对象。

如果您只想添加一个实例,则需要先删除该元素,然后再添加。(但删除然后添加似乎不合逻辑)。

相反,您可以Label()在 actionperformed 中创建一个对象

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();
            } 
于 2013-04-09T09:05:04.117 回答