Simulieren Sie gedrückt gehalten wird, wird in Java
Ich bin auf der Suche, um zu simulieren der Aktion, halten eine Tastatur-Taste für eine kurze Zeit in Java. Ich würde erwarten, dass Sie den folgenden code an, halten Sie die A-Taste für 5 Sekunden, sondern es ist nur drückt es einmal (erzeugt ein einzelnes 'a', beim testen im Editor). Jede Idee, wenn ich etwas anderes, oder wenn ich mich gerade mit dem awt.Roboter-Klasse hier falsch?
Robot robot = null;
robot = new Robot();
robot.keyPress(KeyEvent.VK_A);
Thread.sleep(5000);
robot.keyRelease(KeyEvent.VK_A);
InformationsquelleAutor Ross | 2009-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Thread.sleep() beendet den aktuellen thread (der thread, der Sie die Taste gedrückt halten) ausführen.
Ob Sie es wollen, halten Sie die Taste gedrückt für einen bestimmten Zeitraum, vielleicht sollten Sie es in einem parallelen Thread.
Hier ist ein Vorschlag, dass sich um den Thread.sleep () - Ausgabe (verwendet das command-Muster, so können Sie andere Befehle und tauschen Sie in-und out-in):
InformationsquelleAutor edwardsmatt
Einfach weiter drücken?
Ich denke, die Antwort von edward tun wird!!
InformationsquelleAutor OscarRyz
Gibt es keine keyDown-Ereignis in java.lang.Roboter. Ich habe versucht, dies auf meinem computer (Test auf einer Konsole unter linux statt mit Windows-Editor) und es funktioniert, produziert eine Zeichenfolge ein. Vielleicht ist dies nur ein problem mit dem Editor?
InformationsquelleAutor TwentyMiles