我想为Java AWT机器人制作一个单独的类,以便与项目一起使用,但我无法设置它,因为我在网上发现的所有示例都似乎打包代码转换为单个.java文件。Java机器人 - 类功能问题
我的代码工作正常,但我想知道如果我可以更好地设置功能。
为RobotLib.java类的代码如下:
package com.z;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class RobotLib {
private static Robot robot;
// Press Function
public void Press(int key, int time){
try {
Robot robot = new Robot();
robot.keyPress(key);
robot.delay(time);
robot.keyRelease(key);
} catch (AWTException e) {
e.printStackTrace();
}
}
}
而且我Example.java代码:
package com.z;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Example {
public static void main(String[] args) {
RobotLib robot = new RobotLib();
robot.Press(KeyEvent.VK_A,100); // type a
}
}
随着RobotLib.java类我在想,如果有可能如果没有用try/catch和新的Robot()来包装它们的功能,那么代替上面的版本,它会是这样的:
public void Press(int key, int time){
robot.keyPress(key);
robot.delay(time);
robot.keyRelease(key);
}
的try/catch语句和新的机器人()似乎然而需要,如果我把这些离开我得到的错误是这样的:
Exception in thread "main" java.lang.NullPointerException
at com.z.RobotLib.Press(RobotLib.java:35)
at com.z.Example.main(Example.java:14)
我很新的Java代码,并可能建立类错误的方式,有没有办法解决这个错误或有我想要的功能?
谢谢,我试图避免使用try,catch和new Robot()的需求。基本上我想缩短这些功能,并使它们类似于你可以在网上找到的机器人类的例子,他们使用一个.java文件。就像我贴近错误信息的末尾那样,是否可以在课堂上使用? – zeddex 2012-08-01 01:25:38
我想我会设置它如何建议,所以我已经接受了你的答案,它会很高兴能够避免每个功能的try catch,但我想这是不可能在一个类中。谢谢您的帮助。 – zeddex 2012-08-01 01:38:12
实际上已经测试过你的代码,它给了我错误。新的Robot()和AWTException在eclipse中突出显示。任何想法如何纠正? – zeddex 2012-08-01 01:50:00