2016-11-29 3 views
0

와 controlsFX을 사용하는 방법 : 내 컨트롤러의 방법이 ToggleSwitch에 대한 작업을 연관 지을 수 있어야 할내가 지금처럼 ControlsFX <code>ToggleSwitch</code>을 사용하고 FXML

<ToggleSwitch fx:id="toggle" onAction="#handleToggleAction" mnemonicParsing="false" GridPane.columnIndex="1" /> 

.

이 컨트롤러에 내 코드의 일부입니다 : 이것은 나에게 오류의 원인이되는

@FXML 
private void handleToggleAction(ActionEvent event) throws IOException { 
    Boolean selected = ((ToggleSwitch) event.getSource()).isSelected(); 

    if(selected) { 
     //do something 
    } else { 
     //something else 
    } 
} 

:이 오류를 일으키는 이유를 모르는

Cannot determine type for property. 

. ToggleSwitch을 사용하기 전에 ToggleButton을 사용 중이 었는데 핸들러 메소드가 정상적으로 작동했습니다. 도움을 주시면 감사하겠습니다.

답변

1

ToggleSwitch에는 onAction 속성이 없습니다.

@FXML 
private void initialize() { 
    toggle.selectedProperty().addListener((observable, oldValue, newValue) -> { 
     if(newValue) { 
      //do something 
     } else { 
      //something else 
     } 
    }); 

} 
:

는 따라서 컨트롤러의 initialize 방법에 리스너를 등록 아마 최선의 방법