答复: JTextArea append() 方法的每次循环不能正常显示的问题

wzhiju 写道
    最近在写一个桌面程序时,涉及到要向JTextArea 中每次循环写入数据,开始程序如下:
for (int k = 0; k < hrefs.size() && k < 50; k++) {
    ......
    ......
    jTextArea1.append(hrefs.get(k).getUrl() + "  Analysis Completed...\n");
}
其中jTextArea1为一个文本区域,hrefs 为一个链表LinkedList<Href>,(Href 为自己定义的一个类),但是当运行程序时,可以看到要等到当所有的循环都结束后,所有要显示的内容才一股脑都出现在jTextArea1中。
    为了能够使jTextArea1 中的内容在每次循环中都能发生变化,有人提出用多线程的方法来解决,其实只要添加一个方法就可以了,paintImmediately()。对源程序修改如下:
for (int k = 0; k < hrefs.size() && k < 50; k++) {
    ......
    ......
    jTextArea1.append(hrefs.get(k).getUrl() + "  Analysis Completed...\n");
    jTextArea1.paintImmediately(jTextArea1.getBounds());
}
如此,便可以实现我们想要的效果。




谢谢

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值