Я разрабатываю проект java, через который через компьютер подключается внешнее устройство микроконтроллера через последовательный порт. У меня есть диалоговое окно ожидания в приложении java, ожидающее выполнения команды на микроконтроллере. Если микроконтроллер не отвечает в течение 10 секунд, приложение отключается.while цикл не выполнен
Проблема в том, что некоторые команды выполняются слишком быстро, и микроконтроллер отвечает до того, как активируется диалог ожидания. Это приводит к отключению приложения через десять секунд.
Вот первая идея, которую я думал, что ждать диалог, чтобы быть видимым:
new Thread() {
public void run() {
while (!Main.mainFrame.waitDialog.isVisible()) {}
Main.usbManager.start();
}
}.start();
Но применение застрял в то время цикла и диалог ожидания виден, но если добавить некоторое случайное предложение для цикла while, например, System.out.flush();
, он работает, и когда диалог виден, программа выходит из цикла while.
Как подождать, пока диалог будет виден?
Благодаря
Спасибо! 'Thread.yield()' сделал трюк! – Cako