내 이벤트 핸들러에 대한 다음과 같습니다 코드가에 뷰 컨트롤러에서 변수를 액세스 할 수 없습니다자바 FX - 이벤트 핸들러
public EventHandler<MouseEvent> handleMouseClickedEvent = new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
// Grab the Pane from the event.
Pane p = (Pane) event.getSource();
// Set the colour of that pane.
String colour = ViewController.brushColourPicker.getValue().toString();
p.setStyle("-fx-background-color: " + colour);
}
};
brushColourPicker
이벤트 핸들러 내에서 정적 컨텍스트에서 액세스 할 수 없습니다 - 나는 변수 정적의 할 경우 내보기 컨트롤러, 나는 NPE를 얻을. 또한 getter는 정적 변수 여야하므로 내 변수에 대한 액세스를 방해합니다.
도움을 주시면 대단히 감사하겠습니다. ,
먼저 당신의 컨트롤러 (들) 참조 (들)을 저장하는 클래스를 생성 하나는 다음 작업을 수행 할 수 있습니다 다른 클래스에서 컨트롤러의 뷰 요소에 액세스하기 위해
[mcve]를 게시하십시오. – user1803551
관련 FXML을로드하여 표시 할 때 생성 된 실제 컨트롤러 * 인스턴스 *에서 해당 필드에 액세스해야합니다. –