Estoy trabajando en la aplicación Java Swing con Google Guice como un contenedor IOC. Las cosas están funcionando bastante bien. Hay algunos problemas de UI. Cuando se reemplaza un estándar L & F con píxeles de empuje Sustancia L & La aplicación F no se está ejecutando debido a la creación de componentes Swing de Guice fuera del subproceso de la interfaz de usuario.Guice crea componentes Swing fuera del problema de la hebra de UI?
¿Hay alguna manera de decirle a Guice que cree componentes Swing en el hilo de la interfaz de usuario?
Tal vez debería crear proveedores personalizados que devuelvan componentes Swing después de que SwingUtilities.invokeAndWait(Runnable)
los cree.
No me gusta la idea de ejecutar toda la aplicación en el hilo de UI, pero tal vez es una solución perfecta.
Esta fue la solución más simple y fácil para mi problema. Cometí un error temprano al extender los componentes de Swing y dejar que Guice los instanciara. Después de cambiar a composición, es decir, crear servicios que hacen referencia a componentes Swing y tenerlos creados explícitamente en EDT, todo salió bien. La aplicación se comporta mejor y no hay más fallas en la interfaz de usuario. CONSEJO: El aspecto y tacto de la sustancia es una gran herramienta para probar si el código Swing se usa fuera de EDT. –