jTextArea的实时显示问题(2)

如果需要使得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();
                    }

你可能感兴趣的:(swing)