跟踪ProgressMessageBox的进度:GXT 3.0.1

时间:2014-01-08 19:17:51

标签: gxt

我创建了一个progressmessagebox,它跟踪我的客户端加载时的进度。我希望能够实时更新用户的实际情况,特别是我有这3个“子目标”:

1-“正在初始化......”:%0完成

2-“检索实验室配置...”:%30完成

3-“启动客户端......”:%80完成

4-“客户已准备就绪”:%100

这是我目前拥有的代码的骨架,但它不起作用,它不显示第2步和第3步:

final ProgressMessageBox box = new ProgressMessageBox("Please wait", "Loading items...");
    box.setProgressText("Initializing...");
    box.show();


    final Timer t = new Timer() {
      float i;

      @Override
      public void run() {
        box.updateProgress(i / 100,  "{0}% Complete");
        i += 5;
        if (i > 100) {
          cancel();
          Info.display("Message", "Client is ready");
        }
      }
    };
    t.scheduleRepeating(500);

box.updateProgress(0.3, "Retrieving lab configuration...");
//code to retrieve the lab configuration..

box.updateProgress(0.8, "Starting the client...");
//code to start the client...

谢谢!

1 个答案:

答案 0 :(得分:-1)

您必须使用多线程以避免形式冻结。

检查这个link:如何在一个单独的线程中创建一个加载器?