java - Type ChangeListener 不带参数

标签 java parameters javafx arguments 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);
    }
});

给出错误“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/

相关文章:

java - XStream 隐式集合配置问题

java - 使用 gradle 创建 jar,导入类时无法看到同一包中的其他类

java - 如何在 querydsl 中使用 oracle REGEXP_LIKE()?

parameters - LIBSVM 参数选择

Javafx 3D 在分割 Pane 中消失

java - 静态加载 .txt 文件

c# - 在 C# 中将泛型委托(delegate)作为方法参数传递

c# - 在构造函数中通过引用传递值,保存它,然后再修改它,如何?

java - 我如何修复我的进度并寻找适用于所有媒体的 slider ?

java - 在 javafx 中获取应用程序实例