窗口/舞台失去焦点时的事件

mom*_*mar 9 java events focus stage javafx-2

当JavaFX阶段失去它的焦点时,我怎么能运行一段代码(或更确切地说:关闭舞台)?

例如,在Dropbox或Chrome中:如果单击托盘图标,则会打开一个小窗口.如果您现在单击屏幕上的任意位置,窗口将关闭.这正是我想在JavaFX应用程序中创建的行为.

我已经搜索了很长时间才找到解决方案,但找不到一个......
所以,我正在寻找类似这样的东西:

stage.addEventHandler(EventType.FOCUS_LOST, new EventHandler() { /*...*/ } );
Run Code Online (Sandbox Code Playgroud)


谢谢你帮助我!

Ott*_*ime 20

添加一个监听器stage.focusedProperty().

primaryStage.focusedProperty().addListener(new ChangeListener<Boolean>()
{
  @Override
  public void changed(ObservableValue<? extends Boolean> ov, Boolean onHidden, Boolean onShown)
  {
    <Your code here>
  }
});
Run Code Online (Sandbox Code Playgroud)