我正在尝试为舞台的某些属性创建 ChangeListeners,但我不知道如何...
mainScene.widthProperty().addListener(new ChangeListener<Number>() {
@Override public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
System.out.println("Width: " + newSceneWidth);
}
});
给出错误“type ChangeListener does not take parameters”。
mainScene.widthProperty().addListener(new ChangeListener<>() {
@Override public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
System.out.println("Width: " + newSceneWidth);
}
});
给出“无法推断 ChangeListener 的类型参数”。对我来说,这感觉就像是“如果你这样做该死,如果你不这样做该死”的情况。删除 <> 后的括号会产生大量错误...
编辑:进口:
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.layout.*;
import javafx.scene.image.*;
import javafx.scene.paint.*;
import javafx.beans.*;
import javafx.beans.property.*;
import javafx.geometry.*;
最佳答案
您可能从 Swing API(不接受类型参数)导入了 ChangeListener
,而不是 JavaFX ChangeListener
。确保您有正确的导入:
import javafx.beans.value.ChangeListener ;
关于java - Type ChangeListener 不带参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26204712/