java中文件选择器组件读取一个txt文件到JTextArea中,我想让它一行一行的慢慢显示出来,怎么做呢

在下面的事件中我把文件读到了JTextArea中,我想着是在循环中加入Tread.sleep(50);以达到逐行显示的效果,可是textArea.append(line+... 在下面的事件中我把文件读到了JTextArea中,我想着是在循环中加入Tread.sleep(50);以达到逐行显示的效果,可是textArea.append(line + "\n");不是即使有效的,总是到事件方法跑完了组件中才显示了完全的内容,请帮我指导一下
private void openActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int returnVal = fileChooser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK")); String line = null; while ((line = br.readLine()) != null) { textArea.append(line + "\n"); } br.close(); } catch (IOException e) { System.out.println("problem accessing file"+file.getAbsolutePath()); } } else { System.out.println("File access cancelled by user."); } }
展开
 我来答
JinCeon
2014-01-12 · TA获得超过695个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:408万
展开全部
Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
在代码中执行完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());
这时,你会发现你刚才增加的消息已经被实时地显示出来了。


应该是在Frame窗口的线程上,因为我点击按钮后,去进行数据处理,数据处理需要很长时间,此时按钮一直呈现的是被点击的样式,Frame线程被阻塞了,所以textArea.append("message");运行后,文本框里没有实时的呈现出来! 
而且现在还有另一种方法,就是在处理数据时,另起一个线程,此时不管处理数据需要多长时间,textArea.append("message");运行后,文本框里会实时呈现出来!


你确信textArea.append("message")是运行在swing事件处理线程上?

SwingUtilities.invokeLater(new Runnable() {

     @Override
     public void run() {
         textArea.append("message");
     }
});
vuiva
2014-01-12 · TA获得超过216个赞
知道答主
回答量:132
采纳率:0%
帮助的人:68.1万
展开全部
加一次文字,重绘一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-12
展开全部
22222222222
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式