0

I have Map<String,Integer> object which is not null and i have performed some put() operations on it in the constructor.

but when calling

object.get(str);

in a different function but from the same object i get a

Exception in thread "Thread-1" java.lang.NullPointerException

i have checked str is not null and exists in the map object.

My programe:

package com.example.java;

import java.awt.*;
import java.awt.event.KeyEvent;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;

public class Main {

public static void main(String[] args) {
    KeyInfo keyInfo = new KeyInfo();
    keyInfo.key_handler("Up",0);
}
}

class KeyInfo {

final String[] keys_noshift =
        {"Esc","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Scroll Lock","Insert","Delete",
                "`","1","2","3","4","5","6","7","8","9","0","-","=","Backspace","Home",
                "Tab","q","w","e","r","t","y","u","i","o","p","[","]","\\","Page Up",
                "CapsLock","a","s","d","f","g","h","j","k","l",";","\'","Enter","Page Down",
                "Shift","z","x","c","v","b","n","m",",",".","/","Shift","Up","End",
                "Ctrl","Window","Alt","Space","Alt","Menu","Ctrl","Left","Down","Right"};

private Map<String,Integer> Keys = new HashMap<String,Integer>();
Robot robot;

public void KeyInfo() throws AWTException{
    robot = new Robot();
    Keys.put(keys_noshift[0],KeyEvent.VK_ESCAPE);
    Keys.put(keys_noshift[1],KeyEvent.VK_F1);
    Keys.put(keys_noshift[2],KeyEvent.VK_F2);
    Keys.put(keys_noshift[3],KeyEvent.VK_F3);
    Keys.put(keys_noshift[4],KeyEvent.VK_F4);
    Keys.put(keys_noshift[5],KeyEvent.VK_F5);
    Keys.put(keys_noshift[6],KeyEvent.VK_F6);
    Keys.put(keys_noshift[7],KeyEvent.VK_F7);
    Keys.put(keys_noshift[8],KeyEvent.VK_F8);
    Keys.put(keys_noshift[9],KeyEvent.VK_F9);
    Keys.put(keys_noshift[10],KeyEvent.VK_F10);
    Keys.put(keys_noshift[11],KeyEvent.VK_F11);
    Keys.put(keys_noshift[12],KeyEvent.VK_F12);
    Keys.put(keys_noshift[13],KeyEvent.VK_SCROLL_LOCK);
    Keys.put(keys_noshift[14],KeyEvent.VK_INSERT);
    Keys.put(keys_noshift[15],KeyEvent.VK_DELETE);
    Keys.put(keys_noshift[16],KeyEvent.VK_BACK_QUOTE);
    Keys.put(keys_noshift[17],KeyEvent.VK_1);
    Keys.put(keys_noshift[18],KeyEvent.VK_2);
    Keys.put(keys_noshift[19],KeyEvent.VK_3);
    Keys.put(keys_noshift[20],KeyEvent.VK_4);
    Keys.put(keys_noshift[21],KeyEvent.VK_5);
    Keys.put(keys_noshift[22],KeyEvent.VK_6);
    Keys.put(keys_noshift[23],KeyEvent.VK_7);
    Keys.put(keys_noshift[24],KeyEvent.VK_8);
    Keys.put(keys_noshift[25],KeyEvent.VK_9);
    Keys.put(keys_noshift[26],KeyEvent.VK_0);
    Keys.put(keys_noshift[27],KeyEvent.VK_MINUS);
    Keys.put(keys_noshift[28],KeyEvent.VK_EQUALS);
    Keys.put(keys_noshift[29],KeyEvent.VK_BACK_SPACE);
    Keys.put(keys_noshift[30],KeyEvent.VK_HOME);
    Keys.put(keys_noshift[31],KeyEvent.VK_TAB);
    Keys.put(keys_noshift[32],KeyEvent.VK_Q);
    Keys.put(keys_noshift[33],KeyEvent.VK_W);
    Keys.put(keys_noshift[34],KeyEvent.VK_E);
    Keys.put(keys_noshift[35],KeyEvent.VK_R);
    Keys.put(keys_noshift[36],KeyEvent.VK_T);
    Keys.put(keys_noshift[37],KeyEvent.VK_Y);
    Keys.put(keys_noshift[38],KeyEvent.VK_U);
    Keys.put(keys_noshift[39],KeyEvent.VK_I);
    Keys.put(keys_noshift[40],KeyEvent.VK_O);
    Keys.put(keys_noshift[41],KeyEvent.VK_P);
    Keys.put(keys_noshift[42],KeyEvent.VK_OPEN_BRACKET);
    Keys.put(keys_noshift[43],KeyEvent.VK_CLOSE_BRACKET);
    Keys.put(keys_noshift[44],KeyEvent.VK_BACK_SLASH);
    Keys.put(keys_noshift[45],KeyEvent.VK_PAGE_UP);
    Keys.put(keys_noshift[46],KeyEvent.VK_CAPS_LOCK);
    Keys.put(keys_noshift[47],KeyEvent.VK_A);
    Keys.put(keys_noshift[48],KeyEvent.VK_S);
    Keys.put(keys_noshift[49],KeyEvent.VK_D);
    Keys.put(keys_noshift[50],KeyEvent.VK_F);
    Keys.put(keys_noshift[51],KeyEvent.VK_G);
    Keys.put(keys_noshift[52],KeyEvent.VK_H);
    Keys.put(keys_noshift[53],KeyEvent.VK_J);
    Keys.put(keys_noshift[54],KeyEvent.VK_K);
    Keys.put(keys_noshift[55],KeyEvent.VK_L);
    Keys.put(keys_noshift[56],KeyEvent.VK_SEMICOLON);
    Keys.put(keys_noshift[57],KeyEvent.VK_QUOTE);
    Keys.put(keys_noshift[58],KeyEvent.VK_ENTER);
    Keys.put(keys_noshift[59],KeyEvent.VK_PAGE_DOWN);
    Keys.put(keys_noshift[60],KeyEvent.VK_SHIFT);
    Keys.put(keys_noshift[61],KeyEvent.VK_Z);
    Keys.put(keys_noshift[62],KeyEvent.VK_X);
    Keys.put(keys_noshift[63],KeyEvent.VK_C);
    Keys.put(keys_noshift[64],KeyEvent.VK_V);
    Keys.put(keys_noshift[65],KeyEvent.VK_B);
    Keys.put(keys_noshift[66],KeyEvent.VK_N);
    Keys.put(keys_noshift[67],KeyEvent.VK_M);
    Keys.put(keys_noshift[68],KeyEvent.VK_COMMA);
    Keys.put(keys_noshift[69],KeyEvent.VK_PERIOD);
    Keys.put(keys_noshift[70],KeyEvent.VK_SLASH);
    Keys.put(keys_noshift[72],KeyEvent.VK_UP);
    Keys.put(keys_noshift[73],KeyEvent.VK_END);
    Keys.put(keys_noshift[74],KeyEvent.VK_CONTROL);
    Keys.put(keys_noshift[75],KeyEvent.VK_WINDOWS);
    Keys.put(keys_noshift[76],KeyEvent.VK_ALT);
    Keys.put(keys_noshift[77],KeyEvent.VK_SPACE);
    Keys.put(keys_noshift[79],KeyEvent.VK_CONTEXT_MENU);
    Keys.put(keys_noshift[81],KeyEvent.VK_LEFT);
    Keys.put(keys_noshift[82],KeyEvent.VK_DOWN);
    Keys.put(keys_noshift[83], KeyEvent.VK_RIGHT);
}
public void key_handler(String str,int position){
    if(position == 0){
        if(Keys!=null){
            System.out.println(str);
            int temp = Keys.get(str); //line 122
            robot.keyPress(temp);
        }
    }else if(position == 1){
        robot.keyRelease(Keys.get(str));
    }
}

}

Sarthak Singh
  • 193
  • 3
  • 12

0 Answers0