我需要一种在某些事件发生之前不能被用户关闭的“阻止警报”。因此,我创建了警报并从中删除了所有按钮:

Alert waitingAlert = new Alert(Alert.AlertType.INFORMATION);
waitingAlert.setTitle("Proposta Inviata");
waitingAlert.getButtonTypes().setAll();

waitingAlert.setHeaderText("La proposta è stata inviata a " + trade.getPlayer2Name());
waitingAlert.showAndWait();


然后,我需要在发生特定事件时将其关闭。我只是试过这样:

waitingAlert.close();


但这是行不通的。

编辑
当用户想要向网络中需要接受或拒绝的另一个用户发送请求时,将显示该面板。原则是UI会阻塞,直到另一个用户说出他是否接受或拒绝请求为止。该请求通过环形网络通过远程方法调用发送。收到回复后,我想关闭以关闭面板。

最佳答案

要创建一个不能被用户关闭的对话框,而是等待一个进程,您将需要使用James_D指出的dialog.show()。

但是,如果没有按钮,对话框实际上将无法关闭,您需要强制执行该操作。

//for example
dialog.getButtonTypes().add(ButtonType.CANCEL);
dialog.hide();
dialog.getButtonTypes().remove(ButtonType.CANCEL);


这将允许您关闭没有按钮的对话框。

09-27 05:48