Java - tastatur abfangen?

...komplette Frage anzeigen

2 Antworten

Je nachdem wie du das ganze machen möchtest wird das nicht einfach.

Ich gehe davon aus du möchtest, dass dein Programm weiterläuft und der Nutzer die Möglichkeit hat jederzeit/Im bestimmten Zeitfenster eine bestimmte Taste zu drücken, welche dann etwas auslöst. Korrekt?

Falls das der Fall ist musst du mehrere Threads aufmachen, welche parallel laufen. In einem läuft eben dein gegenwärtige Funktion im anderen die Abfrage der Tastatur.

Variante b) Du möchtest, dass der Nutzer einfach nur eine Taste drückt und es geht weiter. z.B. "Drücken sie nun 1 für Optionen oder 2 für Abbrechen". Dann brauchst du einen "Listner". Wie das ganze geht kannst du hier nachlesen:

https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

Antwort bewerten Vielen Dank für Deine Bewertung

In einem Java-Konsolen-Programm ist das als solches nicht möglich. Denn die Konsole ist ja nicht Bestandteil der Java-Anwendung, sondern nur das was der Scanner als Input erhält. 

Wenn du bei einer Anwendung auf die Eingabe reagieren möchtest, solltest du in Java selbst eine GUI entwerfen, die ein Eingab-Element wie eine "JTextArea" (Swing) oder eine "TextArea" (JavaFX) hat und hier mit entsprechenden Listenern auf die Eingabe reagieren.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?