如何将警报设置为始终在最前面?

How do I set an Alert to be always on top?

假设我有一个简单的警报。

Alert a = new Alert(AlertType.NONE);

CustomLabel lbl = new CustomLabel("Testing");
CustomButton ok = new CustomButton("OK");
FlowPane fp = new FlowPane(); 
fp.getChildren().addAll(lbl,ok);

alert.getDialogPane().setContent(fp);
alert.initStyle(StageStyle.TRANSPARENT);

然后我希望这个提醒始终显示在我显示的任何屏幕之上,我该怎么做?

正在将我的主页设置为。

mainStage.setAlwaysOnTop(false); //does not work

我的 main 和 alert 都在同一个线程上。

意思是,在 运行 我的 main 上,它会检查一些东西,如果有什么不对劲就会弹出警报。

将您的主舞台设置为始终在最前面:

mainStage.setAlwaysOnTop(true);

然后将您的主舞台设置为警报对话框的所有者:

a.initOwner(mainStage);

如果主舞台是警报对话框的所有者,则警报将始终位于主舞台之上。