Ich weiß, viele Menschen haben vor diese Frage gestellt, aber ich konnte keine Antwort finden, dass mein Problem gelöst. Mein Code ist wie folgt:Wert von JLabel nicht mit setText aktualisiert() in Java
public void mouseClicked(MouseEvent arg0) {
TEXT.setText("ON");
myfunction(); //runs for a very long time
}
Der Originaltext JLabel
ist "OFF"
. Jetzt möchte ich den Text "ON"
ändern, wenn die Maus geklickt wird, aber der Text nicht gesetzt, bis myfunction()
abgeschlossen ist (das kann einige Minuten dauern).
Ich habe die invalidate Funktion versucht, eine eigene Funktion machen den Text für die Einstellung, aber nichts funktioniert.
Bitte helfen Sie mir mit diesem Problem!
Sie myfunction() in einem separaten Thread ausgeführt werden müssen, wenn möglich, . Was macht meine Funktion()? –
Es erhält Daten über Ethernet und fügt es der Datenbank hinzu. Ich möchte Threads vermeiden ... – KulaDamian
gibt es keine Möglichkeit um Threads herum. Schreiben von gutem Code mit Swing beinhaltet immer die Verwendung von Threads in der einen oder anderen Form. Lies meine Antwort, wo ich es im Detail erkläre. –