hello
Je développe en ce moment une application java desktop : Swing + Spring.
J'ai lu quelques articles et tutoriels et il semble que toute création de composant swing, enfin tout ce qui est lié a swing doit être réalisé au sein d'un thread bien précis : l'Event Dispatching Thread. Pour faire cela, il faut créer un objet type Runnable qui dans sa méthode run() contient notre code swing (création d'une JFrame, ...).
Ensuite donner cet objet Runnable en paramètre à la méthode invokeLater de la classe SwingUtilities. Cela place donc notre requete pour une nouvelle JFrame dans l'EventQueue.
Tout ceci permet d'éviter des problèmes de concurrence entre Thread étant donné que les composant de Swing ne sont pas thread safe.
Est-ce que j'ai bien compris ?
Si oui, le projet Spring RCP, qui vient de connaitre une nouvelle release, instantie des JFrame (par exemple le SplashScreen) directement dans le container Spring et ne respecte donc pas la règle de l'EDT ?
Quelqu'un peut-il m'éclairer ?![]()
Partager