JavaFX开发实用技巧与框架解析
1. JavaFX与JavaBeans组件的双向协调
在JavaFX开发中,有时需要实现JavaFX对象与JavaBeans组件之间的双向协调。例如,当JSpinner状态改变时,我们需要更新JavaFX SwingNumberSpinner中的实例变量。但ChangeEvent不会告知具体哪个值发生了改变,所以需要更新所有变量。不过,JavaFX运行时能够判断值是否真正改变,只有值有实际变化时,触发或绑定操作才会发生。
为了避免无限循环问题,引入了布尔变量 inChange
。当JavaFX变量发生改变时, inChange
被设置为 true
,这样状态改变处理程序就不会再次更新相同的实例变量。以下是相关代码示例:
var inChange = false;
public var value:Integer =
getModel().getNumber().intValue() on replace {
try {
inChange = true;
getModel().setValue(value);
} finally {
inChange = false;
}
};
2. 服务器回调机制
服务器可以使用多种框架(如消息导向中间件MOM)向JavaFX应用程序异步发送消息。要接收异步消息,首先需要向服务器注册某种回调地址。服务器决定发送消息时,会使用