Sto lavorando all'applicazione Java Swing con Google Guice come contenitore IOC. Le cose stanno andando bene. Ci sono alcuni problemi di interfaccia utente. Quando uno standard L & F viene sostituito con Pushing pixels Sostanza L & L'applicazione F non è in esecuzione a causa della creazione di componenti di Guing Swing al di fuori del thread dell'interfaccia utente.Guice crea componenti Swing al di fuori del problema del thread dell'interfaccia utente?
C'è un modo per dire a Guice di creare componenti Swing nel thread dell'interfaccia utente?
Forse dovrei creare provider personalizzati che restituiranno i componenti di Swing dopo che SwingUtilities.invokeAndWait(Runnable)
li ha creati.
Non mi piace l'idea di eseguire l'intera applicazione nel thread dell'interfaccia utente, ma forse è solo una soluzione perfetta.
Questa è stata la soluzione più semplice e più semplice al mio problema. Avevo commesso un errore precoce estendendo i componenti di Swing e lasciando che Guice li istanzasse. Dopo il passaggio alla composizione, ad esempio i servizi di costruzione che fanno riferimento ai componenti di Swing e li hanno creati esplicitamente in EDT, tutto è andato bene. L'applicazione si comporta in modo più reattivo e non ci sono più problemi di interfaccia utente. SUGGERIMENTO: l'aspetto e l'aspetto della sostanza è un ottimo strumento per testare se il codice Swing viene utilizzato al di fuori di EDT. –