我正在开发一个JavaFX,Jfoenix桌面应用程序,我有多个FXML视图。应用程序应该实时识别特定嵌入式设备的连接或断开连接。不幸的是,没有这个中断函数,所以我不得不经常在主视图中运行一个单独的线程。问题是,我必须从不同的视图中检测到这种变化(当设备连接和断开连接时),而不仅仅是在主视图上。并且因为每个视图都有自己的控制器,并且使用SceneBuilder
注入了许多GUI元素,所以我无法触及其中任何一个,因此我无法在TextBox
上建立一个监听器。
有没有什么方法可以在其他视图中经常监听类似于从主视图在池化线程中进行的布尔标志更改?
像这样,监听布尔变量的变化:isHiConnected
。此代码在实现任务的JavaFX服务中运行:
if (textName != "Disconnected") {
if(!recentChange1) {
isHiConnected = true;
recentChange1 = true;
recentChange2 = false;
}
} else {
if(!recentChange2) {
isHiConnected = false;
recentChange2 = true;
recentChange1 = false;
}
}