`
m635674608
  • 浏览: 4928911 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于Java Swing怎么实时刷新JTextArea,以显示刚才加append的内容(线程角度)

    博客分类:
  • java
 
阅读更多

static JTextArea result;

 

在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现这个效果,就是执行以下语句textArea.paintImmediately(textArea.getBounds());

或

textArea.paintImmediately(textArea.getX(), textArea.getY(), textArea.getWidth(), textArea.getHeight());

这时,你会发现你刚才增加的消息已经被实时地显示出来了。


试过这两种方法都不行。
后来把字段改为静态的,
然后另外起了一个线程就好了

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics