java - 如何从 JFrame 中删除 JButton?

标签 java swing jbutton

我想在用户单击 JButton 时删除 JButton

我知道我应该使用删除方法,但它不起作用。

我该怎么做?

这是我的代码:

class Game implements ActionListener {

JFrame gameFrame;
JButton tmpButton;
JLabel tmpLabel1, tmpLabel2, tmpLabel3, tmpLabel4;

public void actionPerformed(ActionEvent e) {
    gameFrame.remove(tmpLabel1);
    gameFrame.getContentPane().validate();
    return;
}

Game(String title) {
    gameFrame = new JFrame(title);
    gameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    gameFrame.setBounds(100, 100, 300, 500);
    gameFrame.setResizable(false);
    gameFrame.getContentPane().setLayout(null);

    tmpLabel4 = new JLabel(new ImageIcon("./images/bomber.jpg"));
    tmpLabel4.setSize(200, 200);
    tmpLabel4.setLocation(50, 100);
    tmpButton = new JButton("Play");
    tmpButton.setSize(100, 50);
    tmpButton.setLocation(100, 350);
    tmpButton.addActionListener(this);

    gameFrame.getContentPane().add(tmpLabel4);
    gameFrame.getContentPane().add(tmpButton);
    gameFrame.setVisible(true);
}
}

最佳答案

如果隐藏按钮而不是删除代码的工作,那么您可以使用:

public void actionPerformed(ActionEvent event){
   tmpButton.setVisible(false);
 }

对于按钮。但按钮只是隐藏而不是删除。

关于java - 如何从 JFrame 中删除 JButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27587048/

相关文章:

java - 如何使用终端调用 Java 方法?

java - revalidate()/repaint() 在 ActionListener 中不起作用

java - Jframe中的后台操作

java - JButton Action 监听器问题。字段中显示的 slider 值

java - 在 java 中画线后 ActionListener 无法正常工作

java - 如何在 Gradle 中使用自定义 Java Annotation Processor?

java - 没有尾部字段的 LinkedList 陷入无限循环

java - HtmlUnit 单击一个按钮时会引发许多异常

java - 动画缩放图片

java - 在单个 JFrame 中使用多个 JPanel