如何将警报设置为始终位于顶部?

时间:2017-01-04 10:04:10

标签: javafx dialog alert 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

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

意思是,在运行我的主程序时,它会检查某些内容,然后在出现问题时弹出警报。

1 个答案:

答案 0 :(得分:4)

将您的主舞台设置为始终位于顶部:

mainStage.setAlwaysOnTop(true);

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

a.initOwner(mainStage);

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