So ist mir bekannt, dass JavaFx Methode der Aktualisierung der GUI bei der Verwendung eines Threads Task genannt wird, aber funktioniert der Code in ähnlicher Weise oder gibt es Unterschiede. lassen Sie mich Ihnen eine Schaukel Beispiel:JavaFx Antwort auf SwingUtilities.invokeLater
Eine andere Klasse außerhalb der GUI, die
public void run(){
while (socket.isConnected()) {
String x = input.next();
System.out.println(x);
mg.updateChat(x)
}
}
Innerhalb der eigentlichen GUI als Thread läuft
public void updateChat(final String input){
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
txtChat.setText(input);
}
});
}
Does Aufgabe arbeiten, um die exakt gleiche Weg? Oder gibt es Unterschiede und wenn Sie möchten, wie würden Sie diesen Code ändern, um in einem JavaFx-Projekt zu arbeiten?
Funktioniert es genau so? –
Soweit ich [die API] verstehen kann (http://docs.oracle.com/javafx/2/api/javafx/application/Platform.html), ja. Ich benutze es um javafx-Steuerelemente in Multithread-Umgebungen zu aktualisieren, genau wie ich SwingUtilities.invokeLater für Swing-Steuerelemente verwende. – amru
Kein Glück hier, meine Benutzeroberfläche friert ein, wenn ich runLater mache. –