Могу ли я поставить более 1 потока в swingUtilities.invokeLater?

Я не знаю как пользоваться SwingUtilities.invokeLater точно, но в моем приложении панели работают в разных Runnables, и swingUtilities.invokeLater принимает в качестве аргумента Runnables, но если я помещу поток внутрь потока swingUtilities.invokeLater, он будет работать внутри "потоковой концепции SwingUtilities AWT/Swing"? и можно ли поставить более 1 темы? потому что у меня есть панели / темы для запуска внутри 1 JFrame.

1 ответ

Решение

В Swing только 1 поток (поток диспетчеризации событий) может выполнять обновления пользовательского интерфейса (все компоненты пользовательского интерфейса Swing всего приложения). Все обновления пользовательского интерфейса выполняйте с помощью запускаемого объекта, который передается в этот метод invokeLater (или invokeAndWait).

Не выполняйте вычисления / другие задачи в этом runnable, потому что это может замедлить / заблокировать ваш пользовательский интерфейс.

Не существует максимального числа исполняемых объектов, которые вы можете передать в методы SwingUtilities. Все они выполняются потоком отправки события.

Другие вопросы по тегам