1

在 JavaFX 中,如果我希望在属性更改时调用非匿名方法并且我不需要旧值和新值等所有这些信息,是否有比这更短的方法

rb.selectedProperty().addListener(new ChangeListener<Boolean>() {
    @Override
    public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
        onSomethingChanged();
    }           
});

我认为在 C# 中它类似于

rb.selectedProperty()+=onSomethingChanged();

JavaFX / Java中有类似的东西吗?比第一个代码示例短的东西?或者是否可以为此编写某种辅助函数?

感谢您的任何提示!

4

1 回答 1

0

在 7 以内的 JDK 中没有更短的表示法。

当带有 Lambda 项目的 JDK8 发布时,接下来可以编写:

rb.selectedProperty().addListener((obs, oldV, newV) -> onSomethingChanged());
于 2013-02-18T05:52:13.260 回答