如何在我的Windows PC上检查当前的Java应用程序是否在前台?

时间:2012-12-06 09:45:58

标签: java windows swing

我想检查我的swing应用程序是否在前台。如果不是这种情况,我会使用应用程序的系统托盘图标来显示某些特定事件的气球通知。关于如何检查的任何想法?

2 个答案:

答案 0 :(得分:2)

isActive()isFocused()是一个很好的起点,因此请查看您的框架是否具有焦点。

WindowListener也可用于对windowActivatedwindowDeactivated做出反应。

答案 1 :(得分:1)

Focus subsystem可帮助您检查窗口是否处于活动状态。

jframe.addWindowFocusListener(new WindowAdapter() {

    //To check window gained focus
    public void windowGainedFocus(WindowEvent e) {
        //set flag
        isWindowActive = true;
    }

    //To check window lost focus
    public void windowLostFocus(WindowEvent e) {
        //set flag
        isWindowActive = false;
    }
});

HTH