微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试使用 KeyboardFocusManager 查找当前聚焦的窗口总是会导致错误消息

如何解决尝试使用 KeyboardFocusManager 查找当前聚焦的窗口总是会导致错误消息

因此,我尝试使用 KeyboardFocusManager 获取当前聚焦的窗口,我尝试使用两种方法来实现此目的:

public static void getwindowName() {
    String WindowName = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow().toString();
    System.out.println("Currently opened window: "+WindowName);
}

这导致 Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.awt.Window.toString()" because the return value of "java.awt.KeyboardFocusManager.getFocusedWindow()" is null

public static Window getActiveWindow() {
    return KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow();
}

当使用 System.out.println(getActiveWindow()); 调用方法时,null 会打印到控制台。我总是在执行程序时打开并聚焦 intelliJ,我什至尝试聚焦另一个程序,任务管理器,结果相同。你也有这种情况吗?我能做些什么来解决这个问题,或者还有其他更好、更简单的方法来在 java 中获取当前聚焦的窗口吗?我在 Windows 10 上使用 java 15.0.2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。