我想爲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