2013-03-11 115 views
0

我有一個按鈕可以搜索某些文件,所以我試圖在百分比數字的進度條中顯示此任務的進度。 我使用另一個線程來執行此任務,但它需要很長時間,所以我想在進度條中顯示它。用JProgressBar以百分比數顯示線程進度

button.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      Runnable r = new Runnable() { 

       public void run() { 
        //Process to search for files 
       } 
      }; 
      Thread t = new Thread(r); 
      t.start(); 
     } 
    }); 

請幫助我,我沒有JProgressBar的經驗。

+4

1)閱讀使用JProgressBars教程。 2)閱讀使用SwingWorker的教程。 3)結合概念並擁有它。 Google可以幫助您找到合適的Oracle教程。我認爲SwingWorker被稱爲「Swing中的併發」,所以請仔細閱讀,因爲理解這些概念是值得的。 – 2013-03-11 22:08:09

+0

好的,謝謝,知道從哪裏開始真的很好!我會試試看! – igarcia 2013-03-11 22:15:29

+1

對於[示例](http://stackoverflow.com/a/4637725/230513)。 – trashgod 2013-03-11 22:16:34

回答

2

閱讀一些教程,使進度條工作後,我已經實現與indeterminated進度條下一個解決方案:

button.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      Runnable r = new Runnable() { 

       public void run() { 
         progressBar.setIndeterminate(true); 
         progressBar.setVisible(true); 
         progressBar.setStringPainted(true); 
         progressBar.setString("Searching.."); 

        //Process to search for files 

         progressBar.setIndeterminate(false); 
         progressBar.setString("Completed Search"); 

       } 
      }; 
      Thread t = new Thread(r); 
      t.start(); 
     } 
    }); 
+0

+1您自己找出解決方案。 – 2013-03-13 12:48:36