我正在开发一个Java项目,其中通过串口将外部微控制器设备连接到计算机。在Java应用程序中,我有一个等待对话框,等待微控制器设备执行命令。如果微控制器在10秒内没有响应,应用程序就会关闭。
问题是某些命令太快了,在等待对话框变为活动状态之前,微控制器就已经回应了。这导致应用程序在十秒后关闭。
以下是我最初想到的等待对话框变为可见的第一个想法:
问题是某些命令太快了,在等待对话框变为活动状态之前,微控制器就已经回应了。这导致应用程序在十秒后关闭。
以下是我最初想到的等待对话框变为可见的第一个想法:
new Thread() {
public void run() {
while (!Main.mainFrame.waitDialog.isVisible()) {}
Main.usbManager.start();
}
}.start();
但是应用程序在while循环中卡住了,并且等待对话框可见,但如果我添加一些随机的句子到while循环中,例如System.out.flush();
,它就可以正常工作,当对话框可见时,程序从while循环退出。
我该如何等待对话框可见?
谢谢