JavaFX 创建警报并获得结果

2022-01-15 00:00:00 dialog alert java javafx

对于我的 CS 课程,他们要求我们使用 JavaFX 警报.我可以发出警报,但是如何获取单击了哪个按钮?获取这些数据的最佳方法是什么?

For my CS class they require us to use JavaFX alerts. I can make an alert appear, but how do I get what button was clicked? What would be the best way to go about getting this data?

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

Also if possible, I'd like to make it have a drop down panel and when the user selects and option the alert closes and prints what the user selected.

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

Here's some example code that I have. When I click one of the buttons, it just closes the dialog.

Alert a = new Alert(AlertType.NONE, "Promote pawn to:", new ButtonType("Queen"), new ButtonType("Rook"));
a.setTitle("Title");
a.setHeaderText("My header text");
a.setResizable(true);
a.setContentText("Content text");
a.showAndWait();

谢谢,

推荐答案

你可以做

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...
    }
});

相关文章