awtexception을 던지지 않고 글로벌 로봇 변수를 어떻게 만들 수 있습니까?
-
08-07-2019 - |
문제
나는 글로벌을 만들려고 노력하고 있습니다 Robot
an을 던지지 않고 Java 클래스의 변수 AWTException
. 내가 생각해 낼 수있는 유일한 방법은 예외를 던지는 것입니다. 글로벌이되기 위해 필요한 이유는 동일하게 사용해야하기 때문입니다. Robot
클래스의 다른 방법의 변수.
public class Robo{
Robot r;
public Robo() throws AWTException{
r = new Robot();
}
public void useRobot(){
r.mouseMove(5, 5);
r.toString();
}
public void useRobot2(){
//r....some other things
}
}
예외를 던지지 않으면 모든 방법에서 새 로봇을 선언해야합니다.
public class Robo{
public Robo() {
}
public void useRobot(){
try{
Robot r = new Robot();
r.mouseMove(5, 5);
r.toString();
}
catch (AWTException e){}
}
public void useRobot2(){
try{
Robot r = new Robot();
r...... //some other things
}
catch (AWTException e){}
}
}
누군가 나를 도울 수 있습니까?
해결책
그냥 사용하십시오 throws AWTException
버전 java.awt.Robot
이 예외 만 던지면됩니다 GraphicsEnvironment.isHeadless()
사실이다.
어쨌든 로봇으로 앱을 실행할 수 없습니다.
다른 팁
생성자에서 awtexception을 잡을 수없는 이유가 있습니까?
public Robo() {
try {
r = new Robot();
} catch(AWTException e) {
throw new RuntimeException("Failed to create java.awt.Robot for Robo instance", e);
}
}
Robo 클래스에서 다음과 같은 정적 이니셜 라이저 블록을 사용하십시오.
public static Robot r;
static
{
try {
r = new Robot();
} catch(AWTException e){e.printStrackTrace();}
}
이것은 JVM이 Robo 클래스 파일을로드하자마자 로봇 클래스가 초기화되도록합니다.
제휴하지 않습니다 StackOverflow