Verwendung von JavaFX Platform.runLater und Zugriff auf die Benutzeroberfläche von einem anderen Thread aus

Ich habe ein paar Fragen zuPlatform.runLater. Ich habe eine JavaFX-Anwendungsklasse. In dieser Klasse führe ich einen Thread aus (Der Thread liest Daten von einem Netzwerk-Socket).

Jetzt erstelle ich eine neueStage Innerhalb des Threads löst das System eine Ausführung aus (JavaFX-Event-Dispatcher-Thread und mein Netork-Read-Thread stimmen nicht überein). Ich verstehe dieses Verhalten.

Aber die andere Seite ist, ich füge den Text vom Netzwerkleser an einen vorhandenen anTextArea oder einige Elemente in a hinzufügen / entfernenListView<String> - das macht keine ausnahme - warum? Ich dachte, JavaFX ist Singlethreaded (The UI Library Part). Ist das dasselbe wie in Swing: Manchmal funktioniert es und manchmal hast du nur Müll (weil EDT)?

Meine Fragen:

Wann löst der JavaFX-Event-Dispatcher-Thread eine Ausnahme aus und wann nicht?Sind die irgendwelche guten Unterlagen dazuGibt es eine einfachere (kürzere und sauberere) Art der Verwendung?Platform.runLater mit einerrun() Methode ? In Kombination mit einem Versuchsfang (oder Mehrfachfang) sieht es sehr seltsam aus

Ich kenne die Verwendung vonPlatform.runLater in einem Thread ist nicht so schön (Design-Lösung)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage