我们有与网络设备集成的应用程序用于性能和调整相关功能。UI在JavaFx中没有响应
我们正在使用JavaFx For UI,当我连接到网络设备时,登录并获得响应UI显示“Not Responding”。
任何人都可以建议如何超过这个问题。 Login screen shows not respongding
我们有与网络设备集成的应用程序用于性能和调整相关功能。UI在JavaFx中没有响应
我们正在使用JavaFx For UI,当我连接到网络设备时,登录并获得响应UI显示“Not Responding”。
任何人都可以建议如何超过这个问题。 Login screen shows not respongding
由于程序连接到网络设备并且用户界面正在同一个Thread
中运行,UI不响应。您需要启动一个新的Thread
来连接网络设备。当UI和连接到网络设备是在两个不同的线程中时,UI将不会冻结。
class YourThread extends Thread{
public void run(){
// Your code to connect to network device
}
public static void main(String args[]){
YourThread thread = new YourThread();
thread.start();
}
}
通过缓慢和不稳定的通道(比如(但不限于)网络)完成的任何I/O必然会给出不响应的用户界面。因此,任何重要的I/O都应该在单独的线程中完成。
你们中有些人有三种选择:
是的,我理解,但我们必须有多个命令发送到网络设备中,我不能把一个*线程*多种方式,您可以在UI组件建议的解决方法..? – user2964628
您可以创建一个弹出窗口(一个新的JavaFX'Scene'),向用户显示您的应用程序正在处理登录。你可以实现一个进度条。然后你把所有的连接代码放到'Scene'中。连接完成后,该“场景”消失。 – Sky
@ user2964628“我们有多种命令以多种方式发送到网络设备,而我无法放入一个线程”。为什么不? –