Индикатор выполнения обновления java

У меня есть JFrame и следующие компоненты.

JButton = jButton1 Progress Bar = progressBar и его общедоступная статика JLabel = status и его общедоступный статический

Когда нажимается кнопка, выполняются разные инструкции. Я хочу обновлять индикатор выполнения после каждого оператора. Вот мой код

   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Task pbu = new Task(25, "Step 1....");
        pbu.execute();

        try {
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        }

        pbu = new Task(50, "Step 2....");
        pbu.execute();

        try {
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        }

        pbu = new Task(75, "Step 3....");
        pbu.execute();

        try {
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        }

        pbu = new Task(100, "Done");
        pbu.execute();
    }

Вот мой класс задач, расширенный с помощью SwingWorker

public class Task extends SwingWorker{

    private int progress;
    private String stat;

    public Task(int pr, String st) {
        progress = pr;
        stat = st;
    }

    @Override
    protected Object doInBackground() throws Exception {
        NewJFrame1.progressBar.setValue(progress);
        NewJFrame1.status.setValue(stat);
        return null;
    }

}

Есть идеи, как я могу решить эту проблему?

5
задан user704006 6 June 2011 в 17:27
поделиться