-
Threads et EDT
Bonjour,
J'aimerais juste savoir dans quel jar de quel distribution se trouve le package com.sun.mirror.
Question subsidiaire, je vous dis pourquoi je fais ça : J'ai récupéré substance (un LookAndFeel) et il fait un controle qui lance une exception si vous ne créez pas vos objet graphique dans Event Dispatch. Je trouve ça pas très raisonnable, alors je veux dégager le controle. Mais quand je récupère les sources, il manque des trucs de com.sun.mirror, bien uqe j'ai la 1.6. En plus, y'a des Override alors que ça override rien du tout, et mon eclipse n'aime pas...
Merci d'avance
-
Je crois que le controle n'a pas été mis pour le plaisir. Pour rappel, les modifications des objets swing ne doivent, normalement, se faire que dans le event dispatch thread, sinon risque de corruption du aux accès concurrent.
Quand à com.sun.mirror, il viens de là: http://java.sun.com/j2se/1.5.0/docs/guide/apt/
-
Tu trouves franchement que c'est normal d'arreter toute exécution, sans même permettre une désactivation, pour quelque chose que de nombreuses applis ne respecte pas sans que ça mette en péril leur fonctionnement? Un warning aurait suffit...
Merci pour l'info
-
C'est certain, l'auteur aurait du permettre de choisir entre l'exception ou le gel de l'application, un gel étant tellement plus propre. Je suppose qu'il était lassé de bug report dus à des mauvais design d'application.
Il est mentionné ici (anglais) une référence à ce qui se passe si on instancie en dehors de l'EDT: https://substance.dev.java.net/issue...bug.cgi?id=163
-
Il faut noter que de ce point de vue là, Swing est à la base plus permissif que la plupart des frameworks, qui induisent les mêmes checks que ceux faits par substance.
De fait l'effort fait par Kirill pour ajouter ces vérifications est une excellente chose, car celà permettra d'avoir des applications swing correctement codées et pas des applis aux freeze réguliers et comportements par moment erratiques...
Dans la même catégorie il y a également le projet SwingHelper qui permet de vérifier le respect de l'EDT dans un programme (violation de l'EDt et taches longues effectuées dans l'EDT)
Kirill en explique la raison sur son blog: http://www.pushing-pixels.org/?p=368