我在使用以下代码时遇到问题。实现以下代码部分时显示错误。这是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/