JavaFX创建警报并获取结果

JavaFX创建警报并获取结果,java,javafx,dialog,alert,Java,Javafx,Dialog,Alert,对于我的CS类,他们要求我们使用JavaFX警报。我可以显示警报,但如何获取单击的按钮?获取这些数据的最佳方式是什么 此外,如果可能的话,我想让它有一个下拉面板,当用户选择和选项时,警报关闭并打印用户选择的内容 这里有一些示例代码。当我单击其中一个按钮时,它只会关闭对话框 Alert a=新AlertAlertType.NONE,将典当升级为:,新按钮佩奎因,新按钮佩罗OK; a、 设置标题; a、 setHeaderTextMy标题文本; a、 Setresizebletrue; a、 设置内

对于我的CS类,他们要求我们使用JavaFX警报。我可以显示警报,但如何获取单击的按钮?获取这些数据的最佳方式是什么

此外,如果可能的话,我想让它有一个下拉面板,当用户选择和选项时,警报关闭并打印用户选择的内容

这里有一些示例代码。当我单击其中一个按钮时,它只会关闭对话框

Alert a=新AlertAlertType.NONE,将典当升级为:,新按钮佩奎因,新按钮佩罗OK; a、 设置标题; a、 setHeaderTextMy标题文本; a、 Setresizebletrue; a、 设置内容文本; a、 展示和等待; 谢谢,

你能行

ButtonType queen = new ButtonType("Queen");
ButtonType rook = new ButtonType("Rook");
Alert a = new Alert(AlertType.NONE, "Promote pawn to:", queen, rook);
a.setTitle("Title");
a.setHeaderText("My header text");
a.setResizable(true);
a.setContentText("Content text");
a.showAndWait().ifPresent(response -> {
    if (response == queen) {
        // promote to queen...
    } else if (response == rook) {
        // promote to rook...
    }
});

İ如果要使用非阻塞类型的代码执行此操作:

最终警报alert2=新警报AlertAlert.AlertType.CONFIRMATION; 2.表演; alert2.setOnCloseRequestnew EventHandler{ @凌驾 公共无效处理事件{ ButtonType结果=alert2.getResult; 字符串resultText=result.getText; //结果逻辑 } };
你读过报纸了吗?我试过了。我不明白它在说什么。结果转换器是如何工作的?如果我能看到一个实际代码的示例,我想我能找到它,但我一直在四处寻找,除了显示警报和设置警报类型之外,没有找到任何关于警报的信息。选项1、选项2和选项3下有三个示例。AIUI您不将结果转换器用于警报。对话框文档说明,只要R类型不是Void或ButtonType,就必须始终设置结果转换器。但警报扩展了对话框,因此结果转换器不适用。对此进行了完美的解释。谢谢它实际上是直接从文档中获取的,基本上是选项2的逐字记录,所以我不确定您遗漏了什么,但很高兴它有所帮助。