如何从FXML中调用带有参数的方法?
在Java中,我使用以下代码:
textfield.setOnAction(event -> {
endEdit(false);
});
在FXML中,我知道可以调用如下方法:
<TextField onAction="#endEdit">
那么,如何endEdit(Boolean)
使用参数调用FXML中的方法false
?
您可以将endEdit(...)
方法调用封装在@FXML
处理操作事件的带注释的方法中。像这样:
public class FXMLController implements Initializable {
@FXML
protected void handleTextFieldAction(ActionEvent e) {
endEdit(false);
}
private void endEdit(boolean flag) {
System.out.println("Flag value: " + flag);
// Your implementation here
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
然后在FXML
文件中,将文本字段的onAction属性绑定到此handleTextFieldAction(...)
方法,如下所示:
<TextField onAction="#handleTextFieldAction" />
如果布尔标志实际上取决于必须评估的某些条件,则可以在handleTextFieldAction(...)
方法中处理它们并endEdit(...)
使用适当的值进行调用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句