您的位置:首页 > 其它

jTextArea的实时显示问题(2)

2018-03-18 11:55 260 查看
如果需要使得textArea直接刷新,那么就需要和事件线程分开来,这样才能使得在事件还没结束的时候,那边就开始刷新
否则,会等到事件结束之后才返回相应的个结果。

因为事件处理线程和重绘线程是一个线程,所以你在事件处理线程面做这个事,当然要等这个方法返回后,才会响应界面了

你要实现IDE里面的一行一行的输出,就把你的
for(int   tmp=0;tmp <10000;tmp++){
 System.out.println( "(*^__^*)   嘻嘻…… "+tmp);

放到另一个线程里面去做就行了

为了有效果,再加一个睡眠会更好,改成如下的样子 

public void actionPerformed(ActionEvent e) {
                        new Thread() {

                                    public void run() {
                                        for (int tmp = 0; tmp < 10000; tmp++) {
                                            try {
                                                System.out.println("(*^__^*)   嘻嘻…… " + tmp);
                                                Thread.sleep(100);
                                            } catch (InterruptedException ex) {
                                                Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
                                            }
                                        }
                                    }
                                }.start();
                    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: