我是JavaFX上的新手,我需要以Label某种方式绑定a的visible属性,如果它表示的值达到0,则Label应该是不可见的.此外,当有界integerProperty值发生变化时,需要更新它.
这是我的代码:
@FXML
private Label kingRewardLabel;
// many other stuff between
IntegerProperty kingBonus = mainApp.getLocalModel().getMap().kingBonus();
kingBonus.addListener((observable, oldValue, newValue) -> {
if (newValue.equals(0)) {
kingRewardLabel.setVisible(false);
} else {
kingRewardLabel.setText(String.valueOf(newValue.intValue()));
}
});
// testing the listener
kingBonus.setValue(25);
Run Code Online (Sandbox Code Playgroud)
我已经尝试调试一点但是一切看起来都很好,没有错误,没有异常抛出,只是监听器不起作用,或者至少没有像我期望的那样,因为Label仍然显示默认文本"Label",而不是"25 "