2012-05-18 61 views
0

我的項目遵循以下流程: enter image description here使用的SwingWorker給予不正確的結果

我想用swingworker.Here是我使用它的方式,但結果不來正確

在我的GUI碼,我的代碼是這樣執行的主要類

我已經寫了下面的代碼行按鈕代碼

 Main f2 = new Main(); 

    f2.execute(); 

在我的主類,我已經做到了這一點

 class Principalclass extends SwingWorker<Void, Void> 
      { 
      @Override 
      public Void doInBackground() throws IOException 
      { 
       //while loop 
       } 
      @Override 
      public void done() { 
       System.out.println("I am DONE"); 
       GUI b = new GUI(); 
       b.ShowFrame(); //calls the function of the GUI to display frame 
      } 

下面這段代碼,但不打印「我做」顯示GUI frame.I很困惑,如果我不得不做的類2,3和4的一些變化bcz我正在使用swingworker,或者如果我只需要在Principalclass中做進一步的更改。其次,應該花費15分鐘完成任務的應用程序,它只需要2秒:(可能是我正在做一些嚴重錯誤的事情,因爲我是第一次使用鞦韆工人。

+0

爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –

回答

0

你應該執行你的擺動工作人員,並從EDT執行。查看here瞭解更多信息。