2014-10-05 3 views
1

내가 내 무대의 일부 속성에 대한 ChangeListeners에를 만들려고 해요 매개 변수를 사용하지 않지만, 어떻게 내가 알아낼 수 없습니다 매개 변수를 가져 가라. "유형의 ChangeListener는

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

"ChangeListener에 대해 형식 인수를 유추 할 수 없음"을 제공합니다. 그것은 마치 "네가하는 짓이라면 저주받을거야, 네가하지 않으면 저주받을거야"라고 생각해. 오류의 적재량을 제공합니다> < ...

편집 후 괄호를 제거 : 수입 : 당신은 가능성이 스윙 API에서 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.*; 
+0

아마도 잘못된 가져 오기 문이 있습니다. –

+0

@James_D 당신은 어느 것이 적절한 것인지 알고 있습니까? 내 게시물을 수정하여 가져 오기를 포함 할 수 있습니다. – LilSweden

+1

내가 누락 된 것이 아니라면 그 중 누구도'ChangeListener'를 가져올 수 없습니다. 'import javafx.beans.value.ChangeListener; '가 필요합니다. Swing (타입 파라미터가없는)으로부터'ChangeListener'를 가지지 않도록하십시오. –

답변

6

(유형 매개 변수를 사용하지 않는) 대신 JavaFX ChangeListener의 정확한 수입되어 있는지 확인하십시오 :

import javafx.beans.value.ChangeListener ; 
0

없애 모든 람다 식을 사용하여 코드뿐만 아니라 그 수입을 이해하기 어려운 그 :

mainScene.widthProperty().addListener ((ObservableValue <? extends Number> observableValue , Number oldSceneWidth, Number newSceneWidth) -> System.out.println("width: "+ newSceneWidth)); 

당신이 경우 더 짧게 만들 수 있습니다 newSceneWidth이 필요하지 않습니다. 설명 :

mainScene.widthProperty().addListener (e -> System.out.println("SceneWidth Changed"));