+-
java validate()方法无法正常工作
我有一个JFrame,里面是一个jpanel,我用作内容窗格.

所以基本上我使用jpanel将内容加载到点击.新内容作为Jpanel返回,因此它最终成为jpanel – >里面的jpanel – >在Jframe里面.当我需要加载新内容时,我清除面板,加载新内​​容并验证()jframe& jpanel和新内容显示.

我的问题是,当新内容清楚显示验证方法正在工作,因为我可以看到新界面,但我也可以看到旧界面好像它成为背景;我可以调整窗口大小,它只是消失,看起来应该是这样.

这只是验证的工作方式还是可以修复它?

编辑:这个工作.问题是我没有手动调用重绘.

public BaseWindow setContent(JComponent comp){
    contentPane.add(comp);
    contentPane.revalidate();
    contentPane.repaint();
    return this;
}
最佳答案
通常,从面板添加/删除一个或两个组件的代码是:

panel.remove(..);
panel.add(...);
panel.revalidate();
panel.repaint(); // sometimes needed

但是,如果要更换面板上的所有组件,则更好的方法是使用Card Layout.

你已经声明revaliate()后面的repaint()不起作用,所以我唯一的建议是发布你的SSCCE,以证明问题.

点击查看更多相关文章

转载注明原文:java validate()方法无法正常工作 - 乐贴网