Noch ein Problem mit Fortschrittsbalken

ich_Schmiddy

Mitglied
Hallo!

Ich habe eine Methode, die einen Thread aufruft, der einen Forschrittsbalken aktualisieren soll.

Ich bekomme aber jedesmal die Fehlermeldung "java.lang.IllegalThreadStateException". Was mache ich falsch?



(...)
Thread2 t=new Thread2(Bar);
t.start();

for (int i=0; i<100000; i++)
{
for (int j=0; j<100; j++)
{
t.setValue(j);
}
}
(...)

public class Thread2 extends Thread
{
JProgressBar pBar;//=new JProgressBar();
boolean ready=false;

public Thread2(JProgressBar pBar)
{
this.pBar=pBar;
this.start();
}

public boolean isReady()
{
return ready;
}

public void run()
{
boolean fertig = false;

while(!ready)
{
pBar.setStringPainted(true);
}
}

public void setValue(int i)
{
pBar.setValue(i);
}
};
 
Hallo!

Du darfst Swing Componenten nur aus dem Swing-GUI-Thread updaten ...
Wie schon im anderen Thread gezeigt solltest du dir nochmal
SwingUtilities.invokeLater(RUnnable run) und
SwingUtilities.invokeAndWait(RUnnable run) etwas genauer ansehen.

Gruß Tom
 

Neue Beiträge

Zurück