构建jar时,.requestFocusInWindow()不起作用

时间:2016-05-07 23:30:58

标签: java swing focus executable-jar

我有一个GUI Java应用程序。该应用程序最小化到系统托盘。我在点击托盘图标时添加frame.requestFocusInWindow(),以便恢复的JFrame可以吸引用户注意。

代码如下。

 trayicon.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            try {
                if (e.getButton()==MouseEvent.BUTTON1) frame.setVisible(true);
                frame.requestFocusInWindow();
            } catch (Exception ex) {
                Logger.getLogger(TrayControl.class.getName()).log(Level.SEVERE, null, ex);
            }
        } 
});

如果我在NetBeans IDE中执行应用程序,这非常有效,但是当我构建.jar文件并执行它时,似乎无法使用.requestFocusInWindow(),因为应用程序窗口不会引起用户注意并在我打开的其他窗户后面恢复。那么这里发生了什么?

1 个答案:

答案 0 :(得分:0)

问题解决了。我使用了.setExtendedState()JFrame的{​​{1}} myoth,如下所示:

MouseListener