Как настроить оповещение, чтобы оно всегда было на вершине?
Допустим, у меня есть простое предупреждение.
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 ответ
Решение
Установите свою главную сцену так, чтобы она всегда была на высоте:
mainStage.setAlwaysOnTop(true);
Затем установите основной этап, чтобы стать владельцем диалога Alert:
a.initOwner(mainStage);
Если основной этап является владельцем диалогового окна предупреждения, то предупреждение всегда будет в верхней части основного этапа.