首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-12-19 
答复: JTextArea append() 方法的每次循环不能正常显示的问题wzhiju 写道??? 最近在写一个桌面程序时,涉及

答复: 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());
}
如此,便可以实现我们想要的效果。




谢谢

?

热点排行