2017-01-04 14 views
2

Допустим, у меня есть простое предупреждение.Как настроить оповещение всегда на первое место?

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 

Как мои основные, так и оповещения должны быть в одной теме.

Смысл, при запуске моей основной, он будет проверять что-то, а затем всплывает предупреждение, если что-то не так.

ответ

2

Установите основной этап, чтобы быть всегда на высоте:

mainStage.setAlwaysOnTop(true); 

Затем установите основной этап быть владельцем диалога Alert:

a.initOwner(mainStage); 

Если основной этап является владельцем диалога оповещения, то предупреждение всегда будет на главном этапе.