如何实现像eclipse中的控制台窗口那样动态的数字文字?

腌鲜鳜鱼 2007-04-06 04:26:40
我想实现这样一个功能:
有一个循环的算法,每次得出一个结果我就在JTextArea中输出一条,而不是一次将结果全部输出。就像控制台里可以看到程序运行的一些信息一样,是动态的输出文本,这样可以知道程序正在运行中。
...全文
295 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
腌鲜鳜鱼 2007-04-12
  • 打赏
  • 举报
回复
那也是有可能的,研究下看怎么解决:)
ownraul 2007-04-08
  • 打赏
  • 举报
回复
JTextArea的显示多行与线程无关的,同意楼上的
jk88811 2007-04-08
  • 打赏
  • 举报
回复
哪里是线程的问题...

我想之所以看起来是一次输出结果, 主要是你的循环里面执行的运算并不需要很长的时间, 所以你感觉不到它是一行一行增量输出的

如果你想故意减慢输出的速度, 以达到一行一行的效果, 那就可以开一个线程, 每append一行, 就sleep(300);这样看起来就不会一次输出了
腌鲜鳜鱼 2007-04-08
  • 打赏
  • 举报
回复
楼上的明白我的意思了,我也是觉得是线程的原因,应该另起线程来实现,我研究下呵呵.
inthistime 2007-04-06
  • 打赏
  • 举报
回复
Swing包里所有的组件都有一个特征:

基于线程不安全。也就是说,在一个调用的函数体里定义了布局的改变,包括在组件里显示文字,都会等到这个函数执行完才会有效果。你是在说,如何动态来显示,包括函数还没有执行完就显示效果的那种,我告诉你:如果不设计线程,你绝对是做不到的。

那么,你写线程吧!
For_suzhen 2007-04-06
  • 打赏
  • 举报
回复
其中jta是你的JTextArea对象,str是你的新内容
For_suzhen 2007-04-06
  • 打赏
  • 举报
回复
直接让你的字符串append就行了
JTextArea有这个方法阿
你就
jta.append(str + "\n");
liujun999999 2007-04-06
  • 打赏
  • 举报
回复
tb.setText(tb.getText()+"新内容");
qzjackie 2007-04-06
  • 打赏
  • 举报
回复
把字串加起来不就成了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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