表达式的类型必须是数组类型,但它解析为ArrayList <integer> -KeyEvent

时间:2016-05-31 18:31:19

标签: java arraylist awtrobot

我编写的代码将首先记录&#34;记录&#34; (添加到arraylist一些keyevent)。就像我按下A C D A,然后在每个程序之后按下这个键。我尝试通过arraylist来做,但是它工作,任何人都可以帮助我吗? 我有&#34;机器人无法解决&#34;太

private ArrayList<Integer> keys;
public void keyPressed(KeyEvent e) {

    if (e.getKeyCode() == KeyEvent.VK_A) {
        keys.add(KeyEvent.VK_A);
    }
    if (e.getKeyCode() == KeyEvent.VK_B) {
        keys.add(KeyEvent.VK_B);
    }
    if (e.getKeyCode() == KeyEvent.VK_C) {
        keys.add(KeyEvent.VK_C);
    }
    if (e.getKeyCode() == KeyEvent.VK_D) {
        keys.add(KeyEvent.VK_D);
    } 

    for (int x : keys) {
        robot.keyPress(keys);
    }

}

1 个答案:

答案 0 :(得分:0)

我认为您的代码中缺少几行。 你永远不会实例化钥匙或机器人。

然而,根据你的评论,问题似乎在循环中。 您正在使用键作为键列表调用robot.keyPress(keys);,但是因为您正在循环我猜测您希望机器人在循环的每次迭代中按一个键,所以它可能应该是robot.keyPress(x);

但是如果没有关于代码的更多信息或错误消息,很难说。