类型ChangeListener不接受参数

Lil*_*den 1 java parameters arguments javafx changelistener

我正在尝试为我的舞台的一些属性创建ChangeListeners,但我无法弄清楚如何...

mainScene.widthProperty().addListener(new ChangeListener<Number>() {
    @Override public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
        System.out.println("Width: " + newSceneWidth);
    }
});
Run Code Online (Sandbox Code Playgroud)

给出错误"类型ChangeListener不接受参数".

    mainScene.widthProperty().addListener(new ChangeListener<>() {
        @Override public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
            System.out.println("Width: " + newSceneWidth);
        }
    });
Run Code Online (Sandbox Code Playgroud)

给出"无法推断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.*;
Run Code Online (Sandbox Code Playgroud)

Jam*_*s_D 6

您可能ChangeListener从Swing API(不接受类型参数)而不是JavaFX 导入了ChangeListener.确保您输入正确:

import javafx.beans.value.ChangeListener ;
Run Code Online (Sandbox Code Playgroud)