2016-05-31 39 views
-2

我写了代码谁将首先“记录”(添加到arraylist一些keyevent)。就像我按A C D A,然后在程序结束后按下这个键。我尝试通过ArrayList来完成,但它iisnt工作,任何人都可以帮助我? 我也有“机器人无法解决”。表达式的类型必须是数组类型,但它解析为ArrayList <Integer> -KeyEvent

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); 
    } 

} 
+0

关于“it iisnt working” - 你能更具体吗?你在观察什么?你想要发生什么? –

+0

@AndyThomas当然,对不起,我删除了重要的行,现在它的正确。在循环中我有错误。 – Brade

+0

“我有错误”含糊不清。你期望什么,你观察到什么? –

回答

0

我想你的代码中缺少几行代码。 你永远不会实例化键或机器人。

但是从你的评论看来,问题出现在循环中。 您与键在键列表中调用robot.keyPress(keys);,但因为你是循环我猜你想要的机器人压在每次循环的一个关键,所以它可能应该是robot.keyPress(x);

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

相关问题