【发布时间】:2014-11-30 00:47:19
【问题描述】:
我正在尝试为我的舞台的某些属性创建 ChangeListeners,但我不知道如何...
mainScene.widthProperty().addListener(new ChangeListener<Number>() {
@Override public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
System.out.println("Width: " + newSceneWidth);
}
});
给出错误“类型 ChangeListener 不带参数”。
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.*;
【问题讨论】:
-
你可能有错误的导入语句。
-
@James_D 你知道哪个是合适的吗?我可以编辑我的帖子以包含导入。
-
这些都不会导入
ChangeListener,除非我遗漏了什么。你需要import javafx.beans.value.ChangeListener;。确保您没有来自 Swing 的ChangeListener(它没有类型参数)。 -
@James_D 成功了,谢谢!如果您将其添加为答案,我可以批准它。
标签: java parameters javafx arguments changelistener