Ich möchte einen Button mit folgender Funktionalität:
Auf einen Klick wird eine Berechnung in einem eigenen Thread gestartet, auf einen weiteren Klick (noch während der Berechnung) wird der Thread beendet.
Ich hätte es ja gerne so:
d. h. in threadAktiv merke ich mir, ob die Berechnung schon einmal gestartet wurde.
Nur kann ich calc.stop() an der entsprechenden Stelle nicht aufrufen.
Wie kann man denn aber auf das Thread-Objekt zugreifen?
Ich kann zwar den Thread vorher global deklarieren & erzeugen, aber nach dem ersten stop() ist er dann weg und ein start() geht nicht mehr.
Auf einen Klick wird eine Berechnung in einem eigenen Thread gestartet, auf einen weiteren Klick (noch während der Berechnung) wird der Thread beendet.
Ich hätte es ja gerne so:
Code:
class ButtonClick implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (threadAktiv == false) {
threadAktiv = true;
button.setLabel("Berechnung abbrechen");
CalcThread calc = new CalcThread();
calc.start();
}
else {
threadAktiv = false;
button.setLabel("Berechnung starten");
calc.stop();
}
}
}
d. h. in threadAktiv merke ich mir, ob die Berechnung schon einmal gestartet wurde.
Nur kann ich calc.stop() an der entsprechenden Stelle nicht aufrufen.
Wie kann man denn aber auf das Thread-Objekt zugreifen?
Ich kann zwar den Thread vorher global deklarieren & erzeugen, aber nach dem ersten stop() ist er dann weg und ein start() geht nicht mehr.