窗口/舞台失焦时的事件 [英] Event when window/stage lost focus

查看:160
本文介绍了窗口/舞台失焦时的事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



例如在Dropbox或Chrome中,如何运行一段代码(或更准确地说:关闭阶段)?如果您单击托盘图标,将打开一个小窗口。如果您现在点击屏幕上的任何位置,窗口关闭。这正是我想在我的JavaFX应用程序中创建的行为。



我已经搜索了很长时间了一个解决方案,但找不到一个...

所以,我正在寻找这样的东西:

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


感谢您帮助我!

解决方案

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

  primaryStage.focusedProperty()。addListener(new ChangeListener< Boolean>()
{
@Override
public void changed(ObservableValue<?extends Boolean> ; ov,Boolean t,Boolean t1)
{
<你的代码在这里&$
}
});


How can I run a piece of code (or more exactly: close the stage) when the JavaFX stage lost it's focus?

For example in Dropbox or Chrome: if you click the tray icon, a small window opens. If you click anywhere on the screen now, the window closes. Exactly this is the behaviour I want to create in my JavaFX application.

I searched a long time already for a solution, but couldn't find one...
So, I'm looking for something something like this:

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


Thank you for helping me out!

解决方案

Add a listener to stage.focusedProperty().

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

这篇关于窗口/舞台失焦时的事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆