0
我想添加一個偵聽Scene
的widthProperty
,我想知道我做錯了,這裏是我的代碼:添加類型的監聽器,場景的寬度財產
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);
對於用addListener行這給我出現以下錯誤:
The method addListener(ChangeListener<? super Number>) in the type ObservableValue<Number> is not applicable for the arguments (ChangeListener<Double>)
Double是Number的子類,所以我的代碼出了什麼問題?謝謝:-)
你添加的監聽器的類型必須是一個超類型的數字:Number的任何父代。 Smth,比Number更常見。 Double是一個子類,不是超類。 – 2013-04-23 18:47:36
http://stackoverflow.com/questions/3847162/java-generics-super-keyword – 2013-04-23 18:51:32