По соображениям эффективности, Swing компоненты не предназначены для многопоточных операциях. Это означает, что компоненты Swing следует манипулировать в одном потоке одновременно. Самым простым способом для этого является сделать все ваши манипуляции GUI от направления потока событий. Каждое приложение с графическим интерфейсом имеет направление потока событий: это поток, который ждет, чтобы события происходили, и затем направляет эти события в соответствующие обработчики событий. Все ваши методы прослушивания событий вызываются по направлению потока событий, поэтому любые манипуляции GUI, выполняемым с событием слушателю являются безопасными.
Advertisement: