假设我有一个简单的警报。
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
我的主要和警报都在同一个线程上。
意思是,在运行我的主程序时,它会检查某些内容,然后在出现问题时弹出警报。
最佳答案
将您的主要舞台设置为始终处于领先地位:
mainStage.setAlwaysOnTop(true);
然后将您的主舞台设置为 Alert 对话框的所有者:
a.initOwner(mainStage);
如果主舞台是警报对话框的所有者,则警报将始终位于主舞台之上。
关于javafx - 如何将警报设置为始终在最前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41461064/