我正在尝试使用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
?任何其他建议,如果这将工作/赢得工作或问题,试图避免将是伟大的。
谢谢
答案 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
对象。