问题描述
因此,我尝试使用 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 (将#修改为@)