1

我正在尝试创建机器人类的对象。但是,当我尝试这样做时,我得到了“java.lang.NullPointerException”。

static Robot robot = null;

try {
            robot = new Robot();
            if(keyAction.equals("TABPRESS")){
                robot.keyPress(KeyEvent.VK_TAB);                
            }else if(keyAction.equals("TABRELEASE")){
                robot.keyRelease(KeyEvent.VK_TAB);                  
            }

}catch(AWTException e){
 e.printStackTrace();
}

你能建议如何处理这个问题吗?此代码之前运行正常。

4

2 回答 2

2

尽管您尚未发送创建代码,keyAction但这是唯一可能导致此代码片段中出现 NPE 的内容。先检查一下。

此外,调用方法的更好做法equals()是在常量上调用它并将其他对象作为参数传递。这是空安全的:

        if("TABPRESS".equals(keyAction)){
            robot.keyPress(KeyEvent.VK_TAB);                
        }else if("TABRELEASE".equals(keyAction)){
            robot.keyRelease(KeyEvent.VK_TAB);                  
        }
于 2012-08-21T07:39:39.050 回答
0

我已经想出了解决方案。这不是因为任何编程问题。实际上,我的系统上存在 Jre 版本冲突。我卸载/删除了所有 jdks 并安装了一个新的,一切都开始正常工作。

谢谢,Shreyas。

于 2012-08-22T05:56:00.010 回答