用线程是可以解决,不过这属于性能优化方面的事,要重构事务处理流程,现在不在考虑范围之内,重要的是时间不允许啊,没办法,只好想想能不能在java UI方面有没有什么比较方便的方法了
请大家帮忙想一想了

解决方案 »

  1.   

    试一下revalide方法。
    或者在focusGaing事件中加入repaint试试看。
    不过照道理应该不会发生这种情况的,得到焦点时是自动刷新。
      

  2.   

    小刀说的对,如果出现这种现象,肯定是因为个人程序在逻辑上没有处理好的原因。你最好检查一下你的程序,比如一些for,while循环,还有就是检查一下你对UI控件的使用。祝你好运!
      

  3.   

    xjffj(小刀) 和 liuyu9806(羽翔) 理解错了,不是说UI再也不能刷新了,而是说,在事务执行过程 中不主动刷新了,当然事务执行完后是会自动刷新为正常情况的。
    我只是想在事务执行前刷新一次,这样可以事务执行过程中UI中没有残影,看起来好看一点
      

  4.   

    好久没上来可,这个帖子估计结不了,不过还是回答一下吧。
    如果非要解决的话可以先Repaint(),然后调用
    RepaintManager.currentRepaintManager(this);
    rm.paintDirtyRegion();
    这个过程就是让RepaintManager强制绘制,而不走Repaint的流程。