Aktualisierung Gui

Status
Nicht offen für weitere Antworten.
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:

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!
 
H

henryhundhund

Gast
Dankeschön für den Tip,
aber ich verstehe immer noch nicht, warum meine Gui-Aktualisierung nicht ausgeführt wird. Ein System.out.println(counter);
in der for-Schleife funktioniert problemlos.
 
S

SlaterB

Gast
was hast du denn mit dem Tipp gemacht, ihn nicht gelesen?

Frage: was ist 2+2
Tipp: Mathebuch mit Regeln zur Addition
Antwort: Danke für den Tipp, aber ich weiß nun immer noch nicht, was 2+2 ist

? ;)

ich gebe zu dass das hinter dem Link schwer zu verstehen ist,
aber zumindest
> die 60 Sekunden-Arbeit muss in einem Thread nebenläufig ausgeführt werden
ist doch klar und deutlich, solange es nicht so ist, funktioniert es nicht,

das Warum steht in dem langen Link, wieder kurz gesagt: erst wenn die actionPerformed()-Methode beendet ist, wird die GUI wieder gezeichnet,
repaint() bewirkt gar nix außer dem Hinweis 'falls mal wieder Zeit ist, z.B. keine actionPerformed() bearbeitet werden, dann bitte neu zeichnen'
 

0001001

Bekanntes Mitglied
Mach mal folgendes:

1. Sobald der Knopf gedrückt wird, startest du einen neuen Thread. Nimm am besten einen SwingWorker.
2. In diesem definierst du deine 60 sek Wartezeit und blendest das Fenster ein, dass die Wartezeit anzeigt.
3. Am Ende der Wartezeit beendest du den SwingWorker

Grundsätzlich ist dein Problem dass du alles im Event Dispatcher Thread (dem Thread für die GUI) laufen lässt. Wenn du Thread.sleep(60000) aufrufst, dann pennt deine GUI für 60 Sekunden. Da kannst du dann sooft du willst counter.settext() aufrufen. Das wird nicht klappen.

-> die 60 Sekunden warten in einen eigenen GUI-Thread auslagern.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M TableView + Datenbank Aktualisierung AWT, Swing, JavaFX & SWT 4
N Aktualisierung des Fensters AWT Java ohne Ruckeln AWT, Swing, JavaFX & SWT 3
P Aktualisierung von jLabel in jFrames AWT, Swing, JavaFX & SWT 8
O JavaFX Aktualisierung der Scene AWT, Swing, JavaFX & SWT 1
D Swing keine JLabel-Aktualisierung bei "externem" Aufruf durch Helferklasse AWT, Swing, JavaFX & SWT 10
F Textfeld Währungszahlen und automatische Aktualisierung AWT, Swing, JavaFX & SWT 14
J Denkfehler bei Aktualisierung eines GUI AWT, Swing, JavaFX & SWT 4
S JTable nach aktualisierung - neue Zeile nicht "klickbar" AWT, Swing, JavaFX & SWT 0
T Tetris - Gui Aktualisierung AWT, Swing, JavaFX & SWT 2
Y JFormattedTextfield - Aktualisierung und Beschränkung AWT, Swing, JavaFX & SWT 4
dzim TableView - keine Aktualisierung geänderter Items AWT, Swing, JavaFX & SWT 5
B Aktualisierung einer JList AWT, Swing, JavaFX & SWT 5
D JTable Aktualisierung nach hinzufügen eines Datensatzes AWT, Swing, JavaFX & SWT 7
B Problem bei der Aktualisierung des Frames AWT, Swing, JavaFX & SWT 6
lumo SWT Resize und aktualisierung der gui AWT, Swing, JavaFX & SWT 6
B GUI Aktualisierung aus/und eventListener AWT, Swing, JavaFX & SWT 3
S Swing Aktualisierung Fensters AWT, Swing, JavaFX & SWT 7
K Modaler Dialog aber trotzdem Aktualisierung des MainFrames AWT, Swing, JavaFX & SWT 6
W Swing Aktualisierung des Bildes AWT, Swing, JavaFX & SWT 4
C JTable-Aktualisierung leidiges Thema AWT, Swing, JavaFX & SWT 18
Plastagen JTextArea CaretPosition Aktualisierung AWT, Swing, JavaFX & SWT 10
C permanente aktualisierung der Koordinaten der Maus auf einem Panel AWT, Swing, JavaFX & SWT 8
U JComboBox: (Vor)auswahl nach Aktualisierung AWT, Swing, JavaFX & SWT 2
kodela Swing Problem mit sofortiger Aktualisierung eine Textfeldes AWT, Swing, JavaFX & SWT 8
J Progressbar aktualisierung nach file übergabe AWT, Swing, JavaFX & SWT 7
T Aktualisierung einer JComboBox -> RepaintProblem! AWT, Swing, JavaFX & SWT 3
G Bessere Aktualisierung eines Frames AWT, Swing, JavaFX & SWT 5
P Problem bei Aktualisierung eines JPanels AWT, Swing, JavaFX & SWT 2
S Aktualisierung der GUI AWT, Swing, JavaFX & SWT 6
S Aktualisierung in regelmäßigen Abständen AWT, Swing, JavaFX & SWT 2
L Problem mit der aktualisierung von JTree und Text Area AWT, Swing, JavaFX & SWT 22
F Aktualisierung während MOUSE_PRESSED AWT, Swing, JavaFX & SWT 4
M swt - problem mit aktualisierung des tableeditors AWT, Swing, JavaFX & SWT 3
G Aktualisierung der Ausgabe in SWT AWT, Swing, JavaFX & SWT 2
A Aktualisierung eines Bildes innerhalb einer Komponente AWT, Swing, JavaFX & SWT 7
A JTable - Aktualisierung und Spaltenbreite AWT, Swing, JavaFX & SWT 5
D Aktualisierung von GUI AWT, Swing, JavaFX & SWT 11
W JTextArea als Logausgabe und Aktualisierung AWT, Swing, JavaFX & SWT 3
C zu späte aktualisierung/repaint AWT, Swing, JavaFX & SWT 3
X Probleme mit aktualisierung durch Repaint() Methode AWT, Swing, JavaFX & SWT 3
R Thread-Problem (Aktualisierung von JLabel-Komponente) AWT, Swing, JavaFX & SWT 9
M problem mit textfield-aktualisierung AWT, Swing, JavaFX & SWT 4
G JScrollPane problem mit aktualisierung der daten AWT, Swing, JavaFX & SWT 3
L Aktualisierung bei JTabbedPane AWT, Swing, JavaFX & SWT 3
T Swing bei Realtime-Aktualisierung zu langsam? AWT, Swing, JavaFX & SWT 10
M JCombobox aktualisierung, beim wecheseln des Tab JTabbedPane AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben