我正在编写一个代码,该代码可以从其他代码的一部分中获取一些布尔值,并相应地更改屏幕上某些圆圈的颜色。但是,在尝试将布尔值绑定到颜色时遇到了问题。我结束了这个:
unit1.getNeuron().getWorkingProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue == Boolean.FALSE) {
controller.paint1 = new ObservableValueBase<Paint>() {
@Override
public Paint getValue() {
return Color.RED;
}
};
} else {
controller.paint1 = new ObservableValueBase<Paint>() {
@Override
public Paint getValue() {
return Color.DODGERBLUE;
}
};
}
}
});
Run Code Online (Sandbox Code Playgroud)
假设您要基于创建一个ObservableObjectValue<Paint>要切换的对象ObservableBooleanValue,那么Bindings您就是您的朋友:
final ObservableBooleanValue booleanCondition = unit1.getNeuron().getWorkingProperty();
final ObservableObjectValue<Paint> paintProperty = Bindings.when(booleanCondition).then(Color.RED).otherwise(Color.DODGERBLUE);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |