Hi,
ich habe ein JLabel, welches ich gerne im Programmverlauf ändern möchte.
Aber wie kann ich dann die Oberfläche „Updaten“?
Besten Dank
Winni
PS:
habe einiges schon selbst versucht, bevor ich hier das schreibe…
Hi,
ich habe ein JLabel, welches ich gerne im Programmverlauf ändern möchte.
Aber wie kann ich dann die Oberfläche „Updaten“?
Besten Dank
Winni
PS:
habe einiges schon selbst versucht, bevor ich hier das schreibe…
Hi …
eigentlich sollte sich das JLabel automatisch aktualisieren, sobald Du den Inhalt änderst - verstehe ich Dein Vorhaben falsch ?
JLabel erbt von JComponent und besitzt somit eine Methode revalidate(). Versuch einfach mal JLabel.revalidate() aufzurufen…
… sollte ich an Deinem Problem vorbeigeschlittert sein, dann erklär nochmal genauer (evtl. mit Code)
Gruss
Lars
ich habe ein JLabel, welches ich gerne im Programmverlauf
ändern möchte.Aber wie kann ich dann die Oberfläche „Updaten“?
habe einiges schon selbst versucht, bevor ich hier das
schreibe…
Klingt so, als ob du z.B. einen Button drückst der ne lange Methode aufruftr und du willst einen Status zeigen. Richtig?
Das Problem ist, so lange Java ein Event abarbeitet, kannst du es nicht zwingen neu zu zeichnen. Da nützen auch alle revalidate/repaint/… nix. Also muß ein neuer Thread her, der die Action vonm Rest entkoppelt.
Beispiel:
if (e.getActionCommand().equals("actTest")){
//Hier Abarbeitung für Action
new Thread("machWas"){
public void run(){
labStatus.setText("Verbinde...");
verbinden();
labStatus.setText("Lese...");
lesen();
labStatus.setText("Fertig");
}
}.start();
}
Micha