Jak już domyślić, że byłoby bezpieczniej uruchomić Swing kod ciągu Dysponowanie Event wątek aka EDT ponieważ większość komponentów Swing wątku nie są bezpieczne. Oto, co zostało powiedziane w dokumentach Oracle:
Kod obsługi zdarzenia Swing działa na specjalnym wątku znanym jako zdarzenie wątek wysyłki. Większość kodu wywołującego metody Swing działa również w tym wątku na . Jest to konieczne, ponieważ większość metod obiektów Swing nie jest "bezpieczna dla wątków": wywoływanie ich z wielu wątków może powodować błędy interferencji lub pamięci spójności wątku.
Tak powinno być bezpieczne, aby przejść jeśli initialiaze swój WiosnaApplicationContext
ciągu, wątku EDT tak, że składniki uzyskać zainicjowany i prowadzony w tym samym wątku:
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new ClassPathXmlApplicationContext("your-application-context.xml"); // pay attention to context so that it is not left open
}
});
Try http: // stackoverflow .pl/questions/22864008/how-to-configure-spring-boot-with-swing-application – EpicPandaForce