向Scene的width属性添加类型化侦听器

时间:2013-04-23 15:57:54

标签: generics javafx-2 listener scene

我想为Scene的{​​{1}}添加一个监听器,我想知道我做错了什么,这是我的代码:

widthProperty

对于带有addListener的行,这会给我以下错误:

ChangeListener<Double> widthListener = new ChangeListener<Double>() {

    @Override
    public void changed(ObservableValue<? extends Double> observable, Double oldValue, Double newValue) {
        System.out.println("width changed");
    }

};        

foo.getScene().widthProperty().addListener(dimensionsListener);

Double是Number的子类,所以我的代码出了什么问题?谢谢: - )

1 个答案:

答案 0 :(得分:0)

为什么不使用Number呢?这有效:

scene.widthProperty().addListener(new ChangeListener<Number>() {
          @Override
          public void changed(ObservableValue<? extends Number> observableValue, Number number, Number number2) {
              System.out.println("changed");
          }
      });