单击后删除按钮?

时间:2015-07-06 15:33:37

标签: java jframe jbutton action

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

这是代码:

//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);

        }


    });
            }

谢谢

2 个答案:

答案 0 :(得分:4)

每当您将组件添加或移除到屏幕上已显示的内容时,您都必须致电(re)validate(); repaint();

答案 1 :(得分:0)

如果您只想隐藏它并使其不可见。您可以将其visible属性设置为false。

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

或者,在删除按钮后重新显示按住该按钮的面板(如果您确实要放弃该按钮。)

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