java - 抽象 Java 机器人函数

标签 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?关于这是否有效或无效或要尝试避免的问题的任何其他建议都会很好。

谢谢

最佳答案

robot.keyPress(KeyEvent.k); 

这不起作用,因为这将尝试查找 static member类(class)KeyEventk 。您已将增量对象命名为 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/

相关文章:

java - Windows下模拟打印屏幕

java - 使用 mousePress() 方法时出错

java - OpenAM/OpenSSO HttpServletRequest.login(user, pass) 失败并显示 "Invalid transport string"。这是什么意思?

Java 无效赋值运算符

java - 获取KeyEvent的来源

javascript - 在垂直移动的同时水平移动div

Java Robot 和 MATLAB 中的 KeyEvent

java - JComponent 脱离效果

java - Raspberry Pi MAX31865 Python 到 Java 的转换

java - JTextPane:KeyBindings 不适用于 StyledEditorKit