JavaFX创建警报并获取结果

时间:2015-11-21 03:07:24

标签: java javafx dialog alert

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

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

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

    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();

谢谢,

2 个答案:

答案 0 :(得分:2)

你可以做到

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

答案 1 :(得分:0)

要使用非阻塞类型的代码来完成此操作:

MersenneTwister