2013-03-11 3 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 может помочь вам найти соответствующие уроки оракула. Я думаю, что SwingWorker называется «Concurrency in Swing», поэтому взгляните на это, так как вам стоит понять эти понятия. –

+0

Хорошо, спасибо, очень хорошо знать, с чего начать! Я попробую! – igarcia

+1

Для примера [http://stackoverflow.com/a/4637725/230513). – trashgod

ответ

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 для разработки решения самостоятельно. –