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

Ron*_*ldo 5 alert dialog javafx 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);
Run Code Online (Sandbox Code Playgroud)

然后,我希望此警报始终显示在我正在显示的任何屏幕上方,我该怎么做?

将主页设置为。

mainStage.setAlwaysOnTop(false); //does not work
Run Code Online (Sandbox Code Playgroud)

我的主警报和警报警报都在同一线程上。

意思是,在运行我的主程序时,它将检查某些内容,然后在某些内容不正确时弹出警报。

MBe*_*Bec 5

将您的主要舞台设置在最顶层:

mainStage.setAlwaysOnTop(true);
Run Code Online (Sandbox Code Playgroud)

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

a.initOwner(mainStage);
Run Code Online (Sandbox Code Playgroud)

如果主要阶段是警报对话框的所有者,则警报将始终位于主要阶段的顶部。