H
henryhundhund
Gast
Ich habe eine Gui (extends JFrame), auf der sich u.a.
- ein OK-Button (JButton gui.ok) und
- ein Textfeld (JTextField gui.counter)
befinden.
Nach dem Drücken des OK-Buttons möchte ich 60 Sekunden warten und gleichzeitig dem Benutzer anzeigen, wie lange er noch zu warten hat. Den relevanten Code-Teil findet ihr hier:
Leider aktualisiert sich das Textfeld gui.counter überhaupt nicht während des Wartens. Wenn ich allerdings am Ende nur eine Aktualisierung vornehme, klappt alles. Statt gui.counter.repaint() habe ich auch gui.repaint() versucht - leider ohne Erfolg.
Kann mir jemand sagen, wie ich die Gui/das Textfeld dazu bringe, sich zu aktualisieren und den korrekten Wert des Counters anzuzeigen?
Vielen Dank!
- ein OK-Button (JButton gui.ok) und
- ein Textfeld (JTextField gui.counter)
befinden.
Nach dem Drücken des OK-Buttons möchte ich 60 Sekunden warten und gleichzeitig dem Benutzer anzeigen, wie lange er noch zu warten hat. Den relevanten Code-Teil findet ihr hier:
Code:
public void actionPerformed(final ActionEvent actionEvent) {
final Object source = actionEvent.getSource();
if(source == gui.ok) {
for(int counter = 60; counter>=0; counter--) {
gui.counter.setText(String.valueOf(counter));
gui.counter.repaint();
try {
Thread.sleep(1000);
}
catch(Exception e) {
}
}
}
}
Leider aktualisiert sich das Textfeld gui.counter überhaupt nicht während des Wartens. Wenn ich allerdings am Ende nur eine Aktualisierung vornehme, klappt alles. Statt gui.counter.repaint() habe ich auch gui.repaint() versucht - leider ohne Erfolg.
Kann mir jemand sagen, wie ich die Gui/das Textfeld dazu bringe, sich zu aktualisieren und den korrekten Wert des Counters anzuzeigen?
Vielen Dank!