如何将 controlsFX 与 FXML 一起使用
How to use controlsFX with FXML
我正在使用 ControlsFX ToggleSwitch
,就像这样:
<ToggleSwitch fx:id="toggle" onAction="#handleToggleAction" mnemonicParsing="false" GridPane.columnIndex="1" />
我希望能够将对此 ToggleSwitch
的操作与我的控制器中的方法相关联。
这是我在控制器中的一些代码:
@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
并且处理程序方法工作正常。
任何帮助表示赞赏。
ToggleSwitch
根本不包含一个onAction
属性.
因此,最好在控制器的 initialize
方法中注册一个侦听器:
@FXML
private void initialize() {
toggle.selectedProperty().addListener((observable, oldValue, newValue) -> {
if(newValue) {
//do something
} else {
//something else
}
});
}
我正在使用 ControlsFX ToggleSwitch
,就像这样:
<ToggleSwitch fx:id="toggle" onAction="#handleToggleAction" mnemonicParsing="false" GridPane.columnIndex="1" />
我希望能够将对此 ToggleSwitch
的操作与我的控制器中的方法相关联。
这是我在控制器中的一些代码:
@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
并且处理程序方法工作正常。
任何帮助表示赞赏。
ToggleSwitch
根本不包含一个onAction
属性.
因此,最好在控制器的 initialize
方法中注册一个侦听器:
@FXML
private void initialize() {
toggle.selectedProperty().addListener((observable, oldValue, newValue) -> {
if(newValue) {
//do something
} else {
//something else
}
});
}