M
Mike78
Gast
Hallo,
im Rahmen eines meiner ersten Swing Programme möchte ich ein JLabel als Statusanzeige/Statusbar verwenden.
Nach einem Klick auf einen Button werden also rechenintensive Methoden ausgeführt, während derren das Status JLabel geändert wird.
Also
Ich habe das Problem, dass die geänderten JLabel Texte nicht während der Verarbeitung angezeigt werden, sondern erst wenn die Verarbeitung abgeschlossen ist. Die GUI wird also nur verzögert aktualisiert.
Wie kann ich es erreichen, dass die Verarbeitung soweit "pausiert" wird, dass die veränderten JLabel Texte direkt angezeigt werden, auch während der Verarbeitung und nicht erst am Ende?
Ich würde also gerne eine Art Delay einführen und den Mauszeiger zur Sanduhr machen sowie die JLabel Texte zeitnah anzeigen, damit es nicht so aussieht, dass das ganze hängt, bis die Verarbeitung abgeschlossen ist.
im Rahmen eines meiner ersten Swing Programme möchte ich ein JLabel als Statusanzeige/Statusbar verwenden.
Nach einem Klick auf einen Button werden also rechenintensive Methoden ausgeführt, während derren das Status JLabel geändert wird.
Also
Java:
//starten
JLabel jlState=new JLabel();
jlState.setText("Beginne Verarbeitung...");
this. revalidate();
this.repaint();
//methodenausführen
jlState.setText("Nächster Schritt");
this. revalidate();
this.repaint();
//weitere methoden...
//etc
Ich habe das Problem, dass die geänderten JLabel Texte nicht während der Verarbeitung angezeigt werden, sondern erst wenn die Verarbeitung abgeschlossen ist. Die GUI wird also nur verzögert aktualisiert.
Wie kann ich es erreichen, dass die Verarbeitung soweit "pausiert" wird, dass die veränderten JLabel Texte direkt angezeigt werden, auch während der Verarbeitung und nicht erst am Ende?
Ich würde also gerne eine Art Delay einführen und den Mauszeiger zur Sanduhr machen sowie die JLabel Texte zeitnah anzeigen, damit es nicht so aussieht, dass das ganze hängt, bis die Verarbeitung abgeschlossen ist.