2016-05-31 9 views
-2

Ich schrieb Code, wer zuerst "aufnehmen" (zu Arraylist einige KeyEvent hinzufügen). Wie ich A C D A drücke, und nach dem Programm durch das für jedes wird diese Tasten drücken. Ich versuche es durch Arraylist, aber es funktioniert nicht, kann mir jeder helfen? Ich habe auch "Roboter kann nicht gelöst werden".Der Typ des Ausdrucks muss ein Array-Typ sein, aber es wurde in 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

Auf "es funktioniert nicht" - Können Sie genauer sein? Was beobachtest du? Was willst du passieren? –

+0

@AndyThomas Sicher, sorry, ich lösche wichtige Zeile, jetzt ist es korrekt. In der Schleife habe ich einen Fehler. – Brade

+0

"Ich habe einen Fehler" ist vage. Was erwartest du und was beobachtest du? –

Antwort

0

Ich denke, ein paar Zeilen fehlen in Ihrem Code. Sie erstellen niemals Schlüssel oder Roboter.

Aber von Ihrem Kommentar scheint es das Problem ist in der Schleife. Sie rufen robot.keyPress(keys); mit den Tasten die Liste der Schlüssel zu sein, aber da Sie Looping Ich vermute, Sie der Roboter wollen bei jeder Iteration der Schleife eine Taste drücken, so sollte es wahrscheinlich robot.keyPress(x);

Aber ohne mehr Informationen über Ihren Code oder die Fehlermeldung ist schwer zu sagen.