[英].requestFocusInWindow() doesn't work when build the 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()
因为应用程序窗口不会引起用户注意并在后面恢复我打开的其他窗户。 那么这里发生了什么?
问题解决了。 我在MouseListener
中使用了JFrame
.setExtendedState()
metoth,如下所示:
trayicon.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
try {
frame.setExtendedState(JFrame.NORMAL);
frame.setVisible(true);
} catch (Exception ex) {
Logger.getLogger(TrayControl.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.