java-update progressbar

Ich habe ein JFrame und die folgenden Komponenten.

JButton = jButton1
Progress Bar = progressBar und seine public static
JLabel = status und seine public static

Wenn die Taste klickt, dann verschiedene Anweisungen ausführen. Ich will update my progressbar nach jeder Anweisung. Hier ist mein code

   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();
    }

Hier ist meine Aufgabe-Klasse erweitert mit 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;
    }

}

Irgendeine Idee, wie kann ich dieses problem lösen?

InformationsquelleAutor user704006 | 2011-06-06
Schreibe einen Kommentar