簡體   English   中英

找不到適用於addListener( <anonymous ChangeListener<java.time.Duration> &gt;)

[英]No suitable method found for addListener(<anonymous ChangeListener<java.time.Duration>>)

我在使用以下代碼時遇到麻煩。 實現以下代碼部分時顯示錯誤。 這是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個錯誤

我應該怎么做才能解決這個問題? 提前致謝。

為了修復此錯誤,您需要整理導入內容。 您導入javafx.util.Duration在一些類和java.time.Duration其他類。

您需要確定要使用這兩個類中的哪一個,並確保所有類中的import語句都引用同一類。

您需要在控制器類中導入javafx.util.Duration而不是java.time.Duration ,這與Dawood提到的類似。 但是,請注意,這里沒有“選擇” javafx.util.Duration API使用javafx.util.Duration ,您必須遵循該選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM