gpt4 book ai didi

java - JButton 没有正确删除

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:31:09 25 4
gpt4 key购买 nike

我有一个 JPanel,其中包含一个带有 ActionListener 的 JButton。单击一定次数后,需要删除 JButton。但是,当我对其调用 remove() 时,我得到一个不会消失的按下按钮。

这是我的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class SetuPanel extends JPanel {
private JTextField user = new JTextField();
private JLabel label = new JLabel();
private JButton submit = new JButton("Submit");
private int phase = 0;
public SetuPanel() {
super(new FlowLayout());
user.setPreferredSize(new Dimension(120,22));
submit.addActionListener(new Submit());
label.setText("Enter Desired Username:");
add(label);
add(user);
add(submit);
}
private void remov(JComponent jc) {
remove(jc);
validate();
}
private class Submit implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println(user.getText());
if (phase == 2) {
phase++;
label.setText("Playing!");
remov(submit);
}
}
}
}

有什么想法吗?

最佳答案

  • 调用 submit.setVisible(false)(而是)在您需要此 JButton 再次在屏幕上可见的情况下,

  • 你必须调用容器 revalidate()repaint()

  • JPanel 不能直接访问,因为你调用了class extends JPanel,那么你必须调用

.

remove(jc);
revalidate();
repaint()

关于java - JButton 没有正确删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10915536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com