JLabel jl=new JLabel(); for(int i=0;i <10;i++){   jl.setText(String.valueOf(i)); } 在actionperformed中使用循环 然后在Jlable中 只会显示最后的值 如何才能按顺序显示所有的循环的值呢?

解决方案 »

  1.   

    Swing的单一线程模式要求你写Swing程序必须时刻注意两点:
      1. 不应该在事件指派线程 上运行耗时任务。否则应用程序将无响应。
      2. 只能在事件指派线程 上访问 Swing 组件。
    另外开个线程虽然可以解决问题,但当有界面交互时程序不知在什么时候会因死锁而死掉。建议使用SwingWorker。 可以参考我的一篇博文:http://blog.csdn.net/monitor1394/archive/2011/03/01/6214536.aspx
      

  2.   


    jl.setText(jl.getText() + String.valueOf(i));  
      

  3.   


    StringBuffer buffer=new StringBuffer();
    for(int i=0;i<10;i++){
        jl.setText(buffer.append(i).append("\n"););
    }Over ! 
    就这么简单!
      

  4.   

    不过actionpreformed里面的代码会在执行完毕后 才给控件重绘 经过1l的提示 我想是不是能够写个其他线程呢 不过不太明白该怎么写 求指点