JavaFX - 检查应用程序是否在前台

时间:2016-05-24 14:25:54

标签: java javafx focus visible stage

我实际上正在开发一个聊天应用程序。 如果用户收到新消息,我会向他的桌面发送通知,即使他将程序放在前台。这很烦人。 所以我想知道如何检查应用程序是否在foerground / focused / showing(无论如何)。 我已经谷歌搜索,但没有找到一种有效的方法。

1 个答案:

答案 0 :(得分:0)

我知道现在有点晚了,但我希望它可以帮助某人

primaryStage.focusedProperty().addListener(new ChangeListener<Boolean>() {
        @Override
        public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
            if(!newValue) {
                // if windows doesn't focused
                // do action
            }
        }
});

要直接验证窗口是否聚焦,请执行

if(!primaryStage.isFocused()) {
    // if windows doesn't focused
    // do action
}