2016-05-31 63 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);

但是,如果沒有更多的關於你的代碼的信息,或者很難說錯誤信息。

相關問題