gpt4 book ai didi

java - removeAll 不在下次验证时删除?

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:42 26 4
gpt4 key购买 nike

有人可以解释为什么以下内容无法按我的预期工作吗?

按下“应该”按钮会导致显示仅包含(空的)JScrollPane,即输入字段和按钮应该消失。但是,它们会一直保留到调整组件大小为止...

public static void main(String[] args)
{
JFrame frame = new JFrame("test");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
final JPanel panel = new JPanel();

Container cp = frame.getContentPane();
cp.setLayout(new FlowLayout());
cp.add(new JScrollPane(panel));

Component textField = new JTextField("i am input");
JButton button = new JButton(new AbstractAction("i am pressy")
{
@Override
public void actionPerformed(ActionEvent e)
{
// this is already on the EDT
panel.removeAll();
panel.revalidate();
}
});

panel.setLayout(new FlowLayout());
panel.add(textField);
panel.add(button);

frame.pack();
frame.setVisible(true);
}

感谢您的帮助。

最佳答案

当更新一个可见的 GUI 时,代码应该是:

panel.revalidate();
panel.repaint(); // sometimes needed, this appears to be one of them

关于java - removeAll 不在下次验证时删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812002/

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