java JavaFX如何知道是否按下了取消
如何知道在这个JavaFX对话框中是否按下了OK或Cancel按钮
对话框代码:
public String delimiter;
public void delimiterYES() throws IOException {
delimiter=new String();
TextInputDialog dialog = new TextInputDialog();
dialog.setTitle("Delimiter");
dialog.setHeaderText("Enter the delimiter");
Optional<String> result = dialog.showAndWait();
if (result.isPresent()) {
delimiter=result.get();
}
}
# 1 楼答案
好的,我在这里找到了Answare JavaFX Dialogs
结果。如果用户取消对话框,isPresent()将返回false强>
# 2 楼答案
您可以使用
Optional<ButtonType>
而不是Optional<String>
。基本上使用下面的代码希望能有帮助。如果您需要进一步的澄清,请告诉我
# 3 楼答案
如果出现结果,则用户按下OK。如果没有结果,则用户可能按了“取消”,但他们可能刚刚使用操作系统的“关闭窗口”功能关闭了对话框窗口
要真正了解按钮是否被按下,可以使用Dialog javadoc部分“对话框验证/拦截按钮操作”中提到的过滤器
示例代码: