문제

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

도움이 되었습니까?

해결책

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();
    }

다른 팁

It should be:

public void method1 (int x) {
 Robot r = null;
if (x == 1) {

    try {
         r = new Robot();
    } catch (AWTException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       return;
    }
    r.mouseMove(50,50);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top