【问题标题】:Event when window/stage lost focus窗口/舞台失去焦点时的事件
【发布时间】:2014-07-25 04:40:47
【问题描述】:

当 JavaFX 阶段失去焦点时,我如何运行一段代码(或更准确地说:关闭阶段)?

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

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

stage.addEventHandler(EventType.FOCUS_LOST, new EventHandler() { /*...*/ } );


感谢您帮助我!

【问题讨论】:

    标签: java events focus javafx-2 stage


    【解决方案1】:

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

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

    【讨论】:

    • 请注意:t 是旧值,t1 是新值。所以,对于这种情况,t 代表onHiddent1 - onShown
    猜你喜欢
    • 2021-08-22
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多