1

我有一个名为 score 的变量 ObservableIntegerValue 。我想为其创建一个侦听器以侦听其值的变化,并根据该变化在我的窗格上显示 javafx 标签文本。但是在方法 initialize() 中,我需要实例化并给它初始值 500,比如说。怎么可能做到?

4

1 回答 1

3

除了可观察值之外,要使score变量也可绑定,您可以使用IntegerProperty代替ObservableIntegerValue. IntegerProperty 是一个IntegerExpression,所以它也实现了 ObservableIntegerValue 接口,其中 IntegerExpression 是,

IntegerExpression 是 ObservableIntegerValue 加上额外的便利方法,以流畅的样式生成绑定。

IntegerProperty score = new SimpleIntegerProperty(500);
Text text = new Text("-");
// Bind score to text, to show on scene.
text.textProperty().bind(score.asString());
score.set(700); // new value

和听众

score.addListener(new ChangeListener<Number>() {
    @Override
    public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
        // value changed
    }
});
于 2013-11-10T13:59:38.240 回答