在J2SE中,如何编写类似LOADING...的效果,用JTextArea显示,延迟大概5秒

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.*;public class Loading {
    private JTextField info;
    private int delay;
    private Window splash;

    public Loading(){
    this("Loading...",5);
    }

    public Loading(String i, int d){
    info = new JTextField(i,JTextField.CENTER);
    delay = d*1000;
    splash = new Window(new Frame());
    splash.setLayout(new BorderLayout());
    splash.add(info,BorderLayout.CENTER);
    splash.setSize(new Dimension(200,120));
    splash.setLocation(500,300);
    splash.setVisible(true);

    long start = System.currentTimeMillis();
    while(System.currentTimeMillis()-start<delay){
    ;
    }
    splash.dispose();
    System.exit(0);//used in this program
    }
    public static void main(String[]args){
    new Loading();
    }
    }
      

  2.   

    先用Loading...显示在文本区,然后继续执行任务,等真正的任务初始化完毕后,一下子刷新替换就可以了。