请教 Swing中updateUI,revalidate,repaint的区别?
 我现在用的是updateUI,
由于现在在俩个表中加了进度条  俩个表都要随时刷新
在另一个表中运用了
SwingUtilities.invokeLater(new Runnable()
    public void run() {
        updateUI();
    }
);
但导致了cpu占用率极高

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【freeliving】截止到2008-07-17 09:35:47的历史汇总数据(不包括此帖):
    发帖的总数量:2                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:4                        得分贴总数量:1                        回帖的得分率:25%                      
    结贴的总数量:2                        结贴的总分数:0                        
    无满意结贴数:2                        无满意结贴分:100                      
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:---------------------
    无满意结贴率:100.00%               无满意结分率:---------------------
    敬礼!
      

  2.   


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

  3.   

    学习,受教了!补充一个问题;
    重写paint()与paintComponent()有什么区别?