在swingworker进程运行时显示进度对话框

时间:2013-07-31 19:49:46

标签: java swing

我开发了一个简单的swing应用程序,其中我使用SwingWorker运行一个进程,并在进程运行时向最终用户显示一个不确定的进度条。

只要该过程完成,我就会在SwingWorker的done()方法中设置ProgressDialog的可见性。

现在的问题是,当最终用户点击父窗口时,它会聚焦并且进度对话框将返回到主窗口,当我尝试将对话框的模态设置为true时,我不想要它将我的程序保存在那里只有我的SwingWorker线程才开始。

由于我是Swing的新手,请告诉我如何能够同时实现这两个目标。

我的swingworker应该停止,因为当我们为对话框设置modality tru时,用户不应该点击main。

代码段:

ProgressDialog myProgressDialog = new ProgressDialog();
myProgressDialog.setVisible(true);
myProgressDialog.setLocationRelativeTo(this);

mySwingWorkerForUpdate = new SwingWorker<String, String>() {

 @Override
 protected String doInBackground() throws Exception {
               //my code here
 }

  @Override
  protected void done() {
      super.done(); 
      mySwingWorkerForUpdate = null;
      myProgressDialog,setVisibility(false);
  }
};

 mySwingWorkerForUpdate.execute();

0 个答案:

没有答案