2
我正在編寫一個代碼,它可以從某些其他代碼的一部分獲取一些布爾值,並相應地在屏幕上更改某些圓的顏色。然而,我遇到了試圖將布爾值綁定到顏色的問題。我結束了這一點:JavaFX將布爾屬性綁定到畫圖
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;
}
};
}
}
});
- ,但我不得不重複了N次我用n個變量。有沒有不同的方式來實現這一點?
用的結合,取決於的狀態返回顏色boolean(創建並設置一個新的Observable on change)順便說一句,很少需要擴展ObservableXXBase - 如果你堅持手動改變一個監聽器的顏色,使用SimpleXXProperty並設置其值 –
kleopatra