JtextArea更新问题没有实时更新

weixin_38087180 2019-09-12 02:16:12

我目前正在编写一个应用程序,它在点击鼠标时运行几个更新JtextArea的方法。问题是即使我用每个方法调用更新文本区域,它实际上并没有更新,直到mouseclick中的所有内容都已经运行。 这可能需要相当长的一段时间来贯穿所有内容,我希望看到每次调用,而不是等到一切都做 public void mouseClicked(MouseEvent e) { DataCollector dc = new DataCollector(); dataCollected.append("Begining Test...\n\n"); dataCollected.append("Collecting System Information... \n\n"); dataCollected.append(dc.getSystem()); ... lots more like this... }






...全文
44 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38088241 2019-09-12
  • 打赏
  • 举报
回复

它实际上并没有更新,直到一切都在鼠标点击已运行文本区更新。 这是完全正确的。您的mouseClicked方法在GUI线程上调用,并且此线程是更新GUI的唯一线程。因此,在您的mouseClicked方法结束后,您的“更新textarea内容”操作将执行。因此,在GUI线程上运行的方法应该运行得非常快,所以其他想要在GUI线程上运行的方法可以这样做。 您可以启动一个与您的普通代码并行运行的新线程,它将更新您的JTextArea。阅读Lesson: Concurrency in Swing,了解如何使用swing中的线程(以及“Event Dispatch Thread”)。

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧