【问题标题】:Instantiating ObservableIntegerValue in javafx在 javafx 中实例化 ObservableIntegerValue
【发布时间】:2013-11-10 13:28:10
【问题描述】:

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

【问题讨论】:

    标签: javafx instantiation observable


    【解决方案1】:

    除了可观察值之外,要使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
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      相关资源
      最近更新 更多