Hallo liebe Leute,
ich arbeite gerade an einem Robot Programm dass meine Maus und Tasteneingaben selbstständig steuert. Funktioniert einwand frei. Wenn ich das Programm teste würde ich gerne die Möglichkeit haben auch vor dem eigentlichem Ablauf das Programm abzubrechen. Ist leider gar nicht so einfach wenn ich aus Eclipse heraus versuchen muss den roten STOP Button zu klicken während der Robot ständig an der Maus zieht und wild irgendwelche Tasten "spammed". Ich wollte deswegen einbauen, dass der Robot bei druck auf die "Escape" Taste aufhört zu funktionieren bzw. das Programm stopt und ich nicht jedes mal gegen ihn kämpfen muss bis ich das Programm beenden kann.
Ich habe hierzu etwas vielversprechendes gefunden - einbau einer zweiten EventQ:
Das Codebeispiel habe ich von hier:
https://www.tutorials.de/threads/abbruch-mit-escape.242472/
Ich habe das bei mir an den Anfang meiner main kopiert - aber bei Escape passiert leider gar nichts. Jemand eine Idee worans liegen könnte? Der Code sollte ja eigentlich unabhängig von dem was in meinem Programm steht funktionieren, oder nicht?
ich arbeite gerade an einem Robot Programm dass meine Maus und Tasteneingaben selbstständig steuert. Funktioniert einwand frei. Wenn ich das Programm teste würde ich gerne die Möglichkeit haben auch vor dem eigentlichem Ablauf das Programm abzubrechen. Ist leider gar nicht so einfach wenn ich aus Eclipse heraus versuchen muss den roten STOP Button zu klicken während der Robot ständig an der Maus zieht und wild irgendwelche Tasten "spammed". Ich wollte deswegen einbauen, dass der Robot bei druck auf die "Escape" Taste aufhört zu funktionieren bzw. das Programm stopt und ich nicht jedes mal gegen ihn kämpfen muss bis ich das Programm beenden kann.
Ich habe hierzu etwas vielversprechendes gefunden - einbau einer zweiten EventQ:
Java:
Toolkit.getDefaultToolkit().getSystemEventQueue().push(new EventQueue() {
@Override
protected void dispatchEvent(AWTEvent event) {
if (event instanceof KeyEvent) {
KeyEvent keyEvent = (KeyEvent) event;
if (keyEvent.getID() == KeyEvent.KEY_PRESSED
&& keyEvent.getKeyCode() == KeyEvent.VK_ESCAPE) {
System.exit(0);
}
}
super.dispatchEvent(event);
}
});
Das Codebeispiel habe ich von hier:
https://www.tutorials.de/threads/abbruch-mit-escape.242472/
Ich habe das bei mir an den Anfang meiner main kopiert - aber bei Escape passiert leider gar nichts. Jemand eine Idee worans liegen könnte? Der Code sollte ja eigentlich unabhängig von dem was in meinem Programm steht funktionieren, oder nicht?
Zuletzt bearbeitet von einem Moderator: