为了账号安全,请及时绑定邮箱和手机立即绑定

java swing 程序运行完打印信息才显示出来

java swing 程序运行完打印信息才显示出来

PIPIONE 2018-07-14 14:14:01
最近做一个swing的小程序,我想将所有控制台打印的信息截取到在JTextArea上显示,这个可以实现了,按理说应该是程序一边运行,打印信息一直更新,直至程序结束才对,我做的不知道怎么回事,程序运行中一点也不显示,程序运行完了,就将所有的打印信息一下子全部显示出来了,有没有swing大神给看一下,怎么回事
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

首先,不能在事件派发线程(绘制界面和处理事件的线程)中执行耗时或者阻塞操作,这会导致界面没反应,像卡住了一样。io操作通常都是有阻塞或者耗时操作,所以不能放在事件派发线程里面执行。另外,修改swing组件的代码应该在事件派发线程中执行。你的代码违反了上面2个规范。你上面说的直到程序执行完了才打印是因为在输出的过程中,ui线程被阻塞,所以输出的结果没办法反应到界面上来

查看完整回答
反对 回复 2018-07-14
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

可能是我理解错了吧,swing或者android涉及到GUI这类编程都有个类似事件指派线程的概念,这个理解好了GUI编程就简单很多了

查看完整回答
反对 回复 2018-07-14
  • 2 回答
  • 0 关注
  • 1066 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信