2013-03-11 111 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