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バージョンの衝突がありました。すべてのjdkをアンインストール/削除し、新しいjdkをインストールすると、すべてが正常に機能し始めました。

ありがとう、Shreyas。

于 2012-08-22T05:56:00.010 に答える