阅读了很多教程,文章和问题后,我仍然对更新GUI感到困惑。此外,在这个网站上还有很多相关的问题,仍然没有运气 - 尽管我认为我的问题很简单。如何在JFrame运行时更新JLayeredPane? java
基本上,我有一个JFrame,它有一个JLayeredPane作为它的根容器。我在里面有一些JPanel层。
主要问题是更新此JLayeredPane中的特定JPanel。对于这个特定的Panel,我实现了一个更新方法,可以更改其中的内容。
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()
应该如何/何时应该调用这些方法?或者,鉴于这些方法和我试图解决的问题,这不是我应该做的正确方法吗?
谢谢你的时间。
问题与答案http://stackoverflow.com/questions/9885855/how-to-dynamically-add-jbutton-to-jpanel/9885927#9885927可能是有用的 – Robin 2012-04-19 06:22:57