javaif-statementawtrobot

Robot r cannot be resolved


public void method1 (int x) {
    if (x == 1) {
        try {
            Robot r = new Robot();
        } catch (AWTException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        r.mouseMove(50,50);

But this gives r cannot be resolved. Any ideas? =/ Thanks a lot


Solution

  • public void method1 (int x) {
    if (x == 1) {
        try {
            Robot r = new Robot(); // R is defined in the try block. It is not visible outside of this block.
        } catch (AWTException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        r.mouseMove(50,50); // R is not defined anymore here
    

    Replace it with

    public void method1 (int x) {
    if (x == 1) {
        try {
            Robot r = new Robot();
            r.mouseMove(50,50);
        } catch (AWTException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }