Java Swing revalidate() vs repaint()
我正在编写一个 Swing 应用程序,我经常想在其中替换 JPanel 的内容。为此,我正在调用 ,然后添加我的新内容,然后调用 。removeAll()
revalidate()
但是,我发现旧内容实际上仍然可见(尽管被新内容遮挡)。如果我添加一个调用,除了 ,它按预期工作。repaint()
revalidate()
我敢肯定,在其他场合,我经历过,只要打电话就足够了。revalidate()
所以基本上我的问题是 - 我是否需要调用这两个函数,如果没有,我应该何时调用每个函数?