JLabel wird nicht ge-updated

Status
Nicht offen für weitere Antworten.

Krabat

Bekanntes Mitglied
Hallo,

bei folgendem code wird ein web service aufgerufen, der Netzwerkaktivitäten startet. Daraufhin wird die Applikation blockiert und reagiert nicht mehr (könnte man vermutlich mit einem zweiten thread umgehen?). Das Problem liegt allerdings darin, daß zuvor ein JLabel-Text gesetzt wird, der (noch nicht?) geupdated wurde, als der Aufruf des Web Service das System blockierte.

Code:
JLabel lbInfo = new JLabel("X");
lbInfo.setText("-->")
lbInfo.revalidate();
lbInfo.repaint();
lbInfo.updateUI();
Header head = service.callMethod("11/100");

Ich habs bereits mit revalidate/repaint probiert, funzt leider nicht. Wie kann ich es dazu zwingen den JLabel Text zu ändern, bevor das System blockiert wird?
 
Benutz einen zweiten Thread. "repaint", und all deine Veränderungen laufen letzlich auf ein repaint hinaus, wird erst beim nächsten Durchlauf des EventDispatcher-Threads verarbeitet - aber der kommt erst nach dem "service.callMethod(...)".
 
Gibt es keine andere Möglichkeit als einen zweiten Thread?
...und warum wird die service.callMethod() noch VOR dem repaint() ausgeführt? Ist das Zufall/Pech?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben