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