Fil d'application JavaFX. Les sources que je peux trouver indiquent que toutes les mises à jour sur les nœuds doivent avoir lieu dans ce fil de discussion.Mise à jour des noeuds JavaFX Live en dehors du thread d'application
J'essaye de trouver la documentation pour ceci et s'il y a des exceptions à cette règle. https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/concurrency.htm Comme il est dit:
Le graphique de la scène JavaFX, qui représente l'interface utilisateur graphique d'une application JavaFX, est thread-safe et ne peut être consulté et modifié pas du thread d'interface utilisateur également connu sous le nom JavaFX Fil d'application.
https://docs.oracle.com/javase/8/javafx/get-started-tutorial/jfx-architecture.htm#A1107438
Toute scène « live », qui est une scène qui fait partie d'une fenêtre, doit être accessible à partir de ce fil. Un graphe de scène peut être créé et manipulé dans un fil d'arrière-plan, mais lorsque son noeud racine est attaché à un objet en direct dans la scène, ce graphe de scène doit être accessible à partir du fil d'application JavaFX.
J'ai expérimenté que toutes les mises à jour sur un noeud ne doivent pas être effectuées sur JavaFX AT. Certains appels pour mettre à jour le noeud fonctionnent correctement en dehors de ce thread. Par exemple, la mise à jour de Text textProperty ne nécessite pas d'être exécuté dans JavaFX AT. De même, il semble que la configuration de l'info-bulle ne soit pas modifiée ou que la visibilité soit modifiée/désactivée/gérée.
mises à jour sur l'étiquette TextProperty à l'extérieur de la JavaFX AT lancera une
IllegalStateException: Pas sur fil d'application FX; currentThread = Tâche
Merci pour la clarification. La documentation pour Swing mentionnant que cela pourrait fonctionner mais avoir des erreurs imprévisibles. https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html Aucun avertissement pour JavaFX, juste qu'il DOIT être exécuté sur le fil d'application FX. – DJViking
@DJViking Il indique que c'est un seul thread. Il est probablement raisonnable de supposer que les programmeurs utilisant la boîte à outils comprennent les conséquences de l'utilisation d'une API à un seul thread sur plusieurs threads. –