F
Fritz Walter
Gast
Hi,
ich habe folgenden Code, der eine ProgressBar zum laufen bringt. Diese wird in einem Frame angezeit, der im Konstruktor erzeugt wird.
Mit start() starte ich die Progressbar.
Mit stop() möchte ich sie beenden, der Frame schließt sich, aber der thread der Progressbar stribt nicht. In stop() rufe ich ja thread.interrupt() auf. Nun ist meine Frage, wo ich das dann abfangen muss und wie ich den Thread beende, denn thread.stop() ist ja deprecated.
Also wo muss ich isInterrupted() abfragen und wie bekomme ich meinen Thread tot?
Grüße Fritz
ich habe folgenden Code, der eine ProgressBar zum laufen bringt. Diese wird in einem Frame angezeit, der im Konstruktor erzeugt wird.
Mit start() starte ich die Progressbar.
Mit stop() möchte ich sie beenden, der Frame schließt sich, aber der thread der Progressbar stribt nicht. In stop() rufe ich ja thread.interrupt() auf. Nun ist meine Frage, wo ich das dann abfangen muss und wie ich den Thread beende, denn thread.stop() ist ja deprecated.
Code:
public void start() {
thread = new Thread(new Runnable() {
public void run() {
for (int i = 1; i <= 100; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
if (i == 100) {
i = 1;
}
final int j = i;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
progressBar.setValue(j);
}
});
}
}
});
thread.start();
}
public void stop() {
thread.interrupt();
f.dispose();
}
Also wo muss ich isInterrupted() abfragen und wie bekomme ich meinen Thread tot?
Grüße Fritz