gpt4 book ai didi

java - JPanel removeAll 没有去掉以前的组件

转载 作者:搜寻专家 更新时间:2023-10-30 21:00:04 24 4
gpt4 key购买 nike

我有一个 swing 应用程序,我在其中的 JPanel 中显示图像。如果应用程序无法生成图像,我想从 JPanel 中删除之前的图像,并将其替换为 JTextField 和消息。我可以添加文本字段,但它是在前面的内容之上绘制的,它本身是 JPanel 的子类。这是我拥有的:

private void displayMessage(String message) {
JTextField tf = new JTextField(message);
cdPanel.removeAll();
cdPanel.add(tf, BorderLayout.NORTH);//tried lots of variations, inc. no layout
cdPanel.validate();
}

如何让 cdPanel 完全重绘自己?

最佳答案

您可以简单地尝试调用:

cdPanel.revalidate();
cdPanel.repaint(); // This is required in some cases

代替

cdPanel.validate();

关于java - JPanel removeAll 没有去掉以前的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001087/

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