2017-01-23 134 views
0

我正在开发netbeans平台application.I具有一个按钮的主窗口。单击此按钮时,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我已添加code.This我已尝试使应用程序图标blink.Thanks! – User1916

+0

您可以使用primaryStage或mainStage设置dialogStage的initOwner方法。它就像:dialogStage.initOwner(mainStage)。请检查“MBec”答案。 – GltknBtn

回答

0

设置你的模式对话框的Stage是所有者,则对话将永远是对的Stage顶部。

dialog.initOwner(stage); 
相关问题