2017-01-23 1 views
0

Я разрабатываю приложение платформы netbeans. У меня есть главное окно с кнопкой. Нажав на кнопку, откроется модальный диалог (этап) Javafx.Мигает значок приложения на панели задач, когда модальное диалоговое окно javafx теряет фокус

Теперь, когда пользователь нажимает на любой элемент управления, например: текстовое поле в главном окне, модальное диалоговое окно выходит за главное окно. Если это поведение, я хочу выделить (мигать) значок приложения на панели задач, когда диалог теряет focus.Please помощь Спасибо

код:

  final Stage dialogStage = new Stage(); 
      Scene scene = new Scene(fxmlUi); 
      dialogStage.focusedProperty().addListener(new ChangeListener<Boolean>() { 
      boolean atFirst = false; 
     @Override 
      public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue) { 
       if (!newPropertyValue) { 
        dialogStage.setIconified(true); 
        dialogStage.hide(); 
       } 
       if (!atFirst) { 
        atFirst = true; 
        dialogStage.show(); 
       } else { 
        dialogStage.setIconified(true); 
        dialogStage.show(); 
       } 
      } 
     }); 
     dialogStage.setScene(scene); 
     dialogStage.initModality(Modality.APPLICATION_MODAL); 
     dialogStage.setResizable(true); 
     dialogStage.centerOnScreen(); 
     dialogStage.showAndWait(); 
+0

Можете ли вы разместить код, который вы пробовали? – jhhoff02

+1

@ jhhoff02 Я добавил код. Это я попытался сделать значок приложения blink.Thanks! – User1916

+0

Вы можете установить метод initOwner dialogStage с primaryStage или mainStage. Это похоже на: dialogStage.initOwner (mainStage). Пожалуйста, проверьте ответ «MBec». – GltknBtn

ответ

0

Установите Stage быть владельцем модального диалога, то диалог будет всегда находиться на вершине Stage.

dialog.initOwner(stage);