gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:13 26 4
gpt4 key购买 nike

我有一个 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() 方法,如下所示:

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);
}
}
});

关于java - 构建 jar 时.requestFocusInWindow() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37094712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com