java - 没有找到合适的方法 addListener(<anonymous ChangeListener<java.time.Duration>>)

标签 java javafx

我在使用以下代码时遇到问题。实现以下代码部分时显示错误。这是JavaFX MediaPlayer 项目上的代码。

mediaPlayer.currentTimeProperty().addListener(new ChangeListener<Duration>() {
            @Override
            public void changed(ObservableValue<? extends Duration> observable, Duration oldValue, Duration newValue) {
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        });

它显示以下错误。

C:\Users\User\Documents\NetBeansProjects\Rmedia\src\rmedia\FXMLDocumentController.java:75: error: no suitable method found for addListener(<anonymous ChangeListener<java.time.Duration>>)
        mediaPlayer.currentTimeProperty().addListener(new ChangeListener<Duration>() {
method Observable.addListener(InvalidationListener) is not applicable
  (argument mismatch; <anonymous ChangeListener<java.time.Duration>> cannot be converted to InvalidationListener)
method ObservableValue.addListener(ChangeListener<? super javafx.util.Duration>) is not applicable
  (argument mismatch; <anonymous ChangeListener<java.time.Duration>> cannot be converted to ChangeListener<? super javafx.util.Duration>)

1 个错误

我应该怎么做才能解决这个问题?提前致谢。

最佳答案

您需要在 Controller 类中导入 javafx.util.Duration 而不是 java.time.Duration,类似于 Dawood 提到的那样。但是,请注意,这里没有“选择” - JavaFX API 使用 javafx.util.Duration,您必须遵循它。

关于java - 没有找到合适的方法 addListener(<anonymous ChangeListener<java.time.Duration>>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49358121/

相关文章:

java - 虽然不是(或同等)java

java - 将数据库中的值填充到 javafx 中的 ObservableList

JavaFX - 如何在 Pane 中打开并显示图像?

java - AndroidAnnotations 和 Dagger

Java/Spring MaxUploadSizeExceededException post 参数

java - 如何在JavaFX中获取TableView的文件图标?

css - 无法更改验证器的颜色 (RequiredFieldValidator) JavaFX (JFoenix)

java - 使用 proguard 混淆 JavaFX 应用程序时出错

java - 从 Android 上的另一个类调用方法

java - 使用 Spring MVC 提供 sitemap.xml 和 robots.txt