java - 机器人 - java.lang.NullPointerException

标签 java nullpointerexception awt awtrobot

我正在尝试创建机器人类的对象。但是,当我尝试执行相同操作时,我收到“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();
}

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

最佳答案

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

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

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

关于java - 机器人 - java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12050173/

相关文章:

java - 安全转换 <?将 Response> 扩展到 <Response>

java - 一种在没有警告的情况下创建匹配的泛型类对的方法?

java - 为什么我在使用增强型 for 循环时会在该程序中出现空指针异常

android - 从非上下文类访问 Drawable 资源

java - 在矩形内绘制矩形

java - Java 中的启动窗口

Java Enum 表现得很奇怪

java - Android后台任务-如何访问返回值

java - 幻方 NullPointerException。耶

java - 更改 jframe 中图标的大小和形状