摘要Java机器人功能

时间:2014-01-23 12:11:07

标签: java keyevent awtrobot

我正在尝试使用Java Robot功能。

然而,我认为这是背后的主要痛苦,我想知道我是否可以抽象功能并创建更快的方式。

现在首先我做了以下事情:

public abstract class Cyborg {

    public static void Cyborg(KeyEvent args[]) throws AWTException{
        try {
            Robot robot = new Robot(); 
            for(KeyEvent k:args){
                robot.keyPress(KeyEvent.k); 
            }
        } catch(AWTException e){
            e.printStackTrace();
        }
    }
}

我目前有点困惑,我目前收到的错误是k无法解决。但是在KeyEvent args[]部分中,它应该被归类为KeyEvent还是应该只是一个字符串?由于我来自PHP背景,我开始掌握java。任何人都可以建议这是否是最佳方式?还有为什么KeyEvent.k无法解决它是KeyEvent还是String?任何其他建议,如果这将工作/赢得工作或问题,试图避免将是伟大的。

谢谢

2 个答案:

答案 0 :(得分:0)

这一行

robot.keyPress(KeyEvent.k); 

应该是这样的

robot.keyPress(k.getKeyCode());

答案 1 :(得分:0)

robot.keyPress(KeyEvent.k); 

这不起作用,因为这会尝试查找名为static的{​​{1}}类member KeyEvent。您已将增量对象命名为k,因此请使用k

k

更详尽的解释

当您说出以下内容时:

robot.keyPress(k.getKeyCode());

您正在制作的计算机具有与以下相同的效果:

 String[] strs = {"hello", "there", "my", "friend"};

 for(String str : strs)
 {
     // Do something.
 }

因此,您要定义一个名为 for(int x = 0; x < strs.length; x++) { String str = strs[x]; } 的{​​{1}}对象,该对象将包含String数组中包含的当前str对象。