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