Hallo Leute,
ich habe einen ActionListener für meine Buttons play, pause, stop.
Wenn ich den Button play drücke will ich das diverse Buttons meines Frames disabled werden um den user davon abzuhalten wären einer laufenden Simulation irgentwelche Objekte zu plazieren oder ähnliches.
Mein Problem ist das wenn ich meine jetzige ActionPerformed Methode aufrufe, alles gleichzeitig passiert, die Buttons werden disabled, der Thread wird gestartet und die Buttons werden direkt wieder enabled sodass eigentlich nichts passiert.
Wie kann ich das den bewerkstelligen das die Buttons erst wieder enabled werden wenn der Thread komplett durchgelaufen ist?
Hier meine actionperformed Methode der buttons.
ich habe einen ActionListener für meine Buttons play, pause, stop.
Wenn ich den Button play drücke will ich das diverse Buttons meines Frames disabled werden um den user davon abzuhalten wären einer laufenden Simulation irgentwelche Objekte zu plazieren oder ähnliches.
Mein Problem ist das wenn ich meine jetzige ActionPerformed Methode aufrufe, alles gleichzeitig passiert, die Buttons werden disabled, der Thread wird gestartet und die Buttons werden direkt wieder enabled sodass eigentlich nichts passiert.
Wie kann ich das den bewerkstelligen das die Buttons erst wieder enabled werden wenn der Thread komplett durchgelaufen ist?
Hier meine actionperformed Methode der buttons.
Java:
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == this.play) {
{
frame.simulationRunning(); // Hier werden nur die Buttons disabled
simulation.start(); // Ausführen des Threads
simulation = new Simulation(this.terri); // Neuen Thread anlegen um die Simulation erneut starten zu können
frame.simulationEnded(); // Hier werden die Buttons wieder enabled
}
}
}