阅读了许多教程、文章和问题后,我仍然对更新 GUI 感到困惑。另外,这个网站上有很多相关的问题,但仍然没有运气——尽管我认为我的问题很简单。
基本上,我有一个 JFrame,它有一个 JLayeredPane 作为它的根容器。我里面有几层JPanels。
主要问题是更新此 JLayeredPane 中的特定 JPanel。对于这个特定的面板,我实现了一个更新方法来更改其中的内容。
updatePanel(int para)
//doesn't remove this panel
//removes some existing labels and replaces it with new ones
一旦我创建了整个框架,显然只是调用此方法不会显示显示框架的任何更改。
private void static main (String[] args){
WindowFrame frame = new WindowFrame()//WindowFrame extends JFrame
frame.updatePanel(2);
.....
.....
}
这就是我卡住的地方。我想在显示框架时更新内容。
我看到人们提到的这些方法,但由于问题的性质,我无法完全掌握这些概念。另外,关于这些方法的文档并没有真正的帮助——至少对我来说是这样。
revalidate()
validate()
repaint()
应该如何/何时调用这些方法?或者,考虑到这些方法和我要解决的问题,这不是我应该做的正确方法吗?
感谢您的时间。