如何让我的程序运行,以便在单击按钮时将其删除?
这是代码:
//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);
}
});
}
谢谢
答案 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();
}