setVisible(true),repaint()和validate()之间有什么区别?

时间:2014-01-28 16:12:37

标签: java repaint

我创建了一个加载框架的小程序,其中我添加了一些面板。 当我点击某个按钮时,它应显示一些面板并隐藏其他面板。 我正在经历一些难以做到的事情,即使因为我并没有真正弄清楚setVisible(true),repaint()和validate()之间的差异(我的一些朋友向我建议)。

我希望你能让我理解!

谢谢。

2 个答案:

答案 0 :(得分:1)

仔细阅读JComponent的API。用法是:

  1. setVisible - 它将完全隐藏或显示您的组件。如果将其设置为false,则根本无法看到它。
  2. repaint() - 在需要重绘实际像素时调用,这是自动完成的。例如,当您在GUI顶部移动窗口然后将其移开时,它就会被使用。被覆盖的部分需要重新绘制。
  3. validate() - 当GUI的布局发生变化并且您需要管理员替换并重新绘制GUI时,您应该调用它。
  4. 它比这复杂一点,所以再次仔细阅读API。

答案 1 :(得分:0)

setVisible(true):设置组件以使其可见。

repaint():调用组件上的paint方法。

revalidate():根据根组件

更新组件