我正在尝试一下 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
?关于这是否有效或无效或要尝试避免的问题的任何其他建议都会很好。
谢谢
最佳答案
robot.keyPress(KeyEvent.k);
这不起作用,因为这将尝试查找 static
member
类(class)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];
}
所以你定义了 String
名为 str
的对象将包含当前的 String
strs
中包含的对象数组。
关于java - 抽象 Java 机器人函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307776/