请教 Swing中updateUI,revalidate,repaint的区别?

freeliving 2008-07-17 09:35:38
请教 Swing中updateUI,revalidate,repaint的区别?
我现在用的是updateUI,
由于现在在俩个表中加了进度条 俩个表都要随时刷新
在另一个表中运用了
SwingUtilities.invokeLater(new Runnable()
public void run() {
updateUI();
}
);
但导致了cpu占用率极高
...全文
818 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
freeliving 2008-07-18
  • 打赏
  • 举报
回复
多谢了!
需要正能量 2008-07-17
  • 打赏
  • 举报
回复
学习,受教了!补充一个问题;
重写paint()与paintComponent()有什么区别?
365810247 2008-07-17
  • 打赏
  • 举报
回复

paint()是在组件第一次显示时调用,完成组件的绘制。
update()进行初始化(背景色填充、设置组件前景色)后调用paint()绘制组件。
repaint()则调用update()。它之所以存在是因为要支持以不同的方式进行update()操作,
如:repaint();repaint (long time);
repaint(int x,int y,int width,int height),无参的repaint()只是对 update()进行简单的调用。
可以说,paint()是最原子的操作,update()则允许在它之上对它的外观进行一些定制,repaint()则偏重于定制调用的方式:你可以在指定时间间隔后进行重画,也可以在指定区域内绘制组件,等等。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧