Guice在UI线程问题之外创建Swing组件?

Bor*_*vić 5 java swing instantiation guice ui-thread

我正在使用Google Guice作为IOC容器处理Java Swing应用程序.事情进展顺利.有一些UI问题.当标准L&F被Pushing像素替换时,由于在UI线程之外创建Guice的Swing组件,物质L&F应用程序未运行.

有没有办法告诉Guice在UI线程中创建Swing组件?

也许我应该创建自定义提供程序,它们将在SwingUtilities.invokeAndWait(Runnable)创建后返回Swing组件.

我不喜欢在UI线程中运行整个应用程序的想法,但也许它只是一个完美的解决方案.

Eug*_*kov 5

IMO你不应该使用Guice创建组件,而是使用服务来创建组件.一旦你注入了服务,就应该很容易确保在EDT上创建组件(使用invokeAndWait)