Я пытался простой код Java для теста, только кнопки, когда и нажмите на нее она спит в течение 5 секунд, вот обработчиккнопки делают отвечать на запросы на некоторое время Явы
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
System.out.println ("hiiii");
Thread.sleep (5000);
System.out.println ("bye");
} catch (InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
Я хочу, чтобы эта кнопка Безразлично» т получать любые события, пока он не закончит работать (5 секунд), я пытался отключить и включить его в обработчик, но напрасно
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jButton1.setEnabled(false);
try {
System.out.println ("hiiii");
Thread.sleep (5000);
System.out.println ("bye");
} catch (InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
jButton1.setEnabled(true);
}
'sleep' блокирует EDT. Вместо этого используйте ['Timer'] (http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html). – Maroun
Чтобы преодолеть проблемы, которые могут возникать из-за сна или таймеров, я использовал петли задержки, но основная проблема все еще существует. –
@MohamedYacoutAbouSamra. Он по-прежнему блокирует EDT. – Maroun