Я очень новичок в Swing.Как сделать блокировку кнопок в Java Swing?
У меня есть
itemActionButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg) {
itemAction();
}
});
Но когда кнопка нажата, вместо выполнения этого действия в другом потоке, я хотел бы нить родительского сформируют никогда ждать, пока она действие завершается до освежающего, позволяя дополнительные клики и т. д.
Как я могу это сделать?
Я думал, что вы были. Выполнение действия изнутри actionPerformed будет продолжать блокировать EDT. Вы можете отключить кнопку e (по щелчку), запустить действие в SwingWorker и арендовать кнопку из сделанного метода SwingWorker – MadProgrammer
Пол вы можете увидеть здесь: http://stackoverflow.com/questions/8083768/stop-cancel- swingworker-thread – Gere
Как уже указывалось, я бегу в основной теме здесь. Оказывается, я вызываю 'itemAction()' косвенно из TimerTask в другом месте. Чтобы заставить 'itemAction()' запускаться в основном потоке, мне пришлось использовать 'SwingUtilities.invokeLater()'. –