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

来源:互联网 发布:javascript 最新版本 编辑:程序博客网 时间:2024/04/30 12:49

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());这时,你会发现你刚才增加的消息已经被实时地显示出来了。试过这两种方法都不行。后来把字段改为静态的,然后另外起了一个线程就好了

 

0 0
原创粉丝点击