单击后删除按钮?

Remove button after it has been clicked?

我如何让我的程序运行,以便在单击按钮时将其删除?

代码如下:

//Mainmenu
JFrame frame1 = new JFrame();
Container pane = frame1.getContentPane();

JButton a = new JButton(new ImageIcon("path2img"));
BufferedImage a1 = ImageIO.read(new File("path2img"));

 public Menu() throws IOException {
     frame1.setSize(300, 450);
    frame1.setLocationRelativeTo(null);
    frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame1.setResizable(false);
    frame1.setVisible(true);
    pane.add(a);
    a.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent aa) {
            pane.remove(a);

        }


    });
            }

谢谢

任何时候向屏幕上已显示的内容添加或删除组件时,都必须调用 (re)validate(); repaint();

如果你只是想隐藏它,让它不可见。您可以将其可见 属性 设置为 false。

public void actionPerformed(ActionEvent e) {
    a.setVisible(false);
}

或者,在移除按钮后重新绘制包含该按钮的面板(如果您真的想丢弃该按钮。)

public void actionPerformed(ActionEvent e) {
    pane.remove(a);
    pane.repaint();
}