-
[java] kommandozeilen keyListener
moin,
folgendes problem: io streams liefern mir den userinput erst nach einem <enter> aus den tastaturpuffer. ich brauche aber die information ueber die gedrueckte taste sofort nachden sie gedrueckt wurde und das bei einem commandline prog.
ich koennt jetzt natuerlich von component (meiner meinung nach das tiefstmoegliche) erben und nen keylistener verwenden un mir so einen 'live'-stream zu basteln.
natuerlich ist bei einer kommandozeilen anwendung component absoluter overkill!
wie kann ich das schoen loesen? hab mich dumm und daemlich gesucht nach sowas wie einem liveiostream, finde nix.
hat wer ne idee?
bzw. am besten gleich ein sniplett.. 
danke schon mal
gruss
marius
-
Streams liefern dir die Daten gleich - soweit ich weiß jedenfalls.
Wenn du allerdings die BufferedInputStream.readLine() verwendest, dann ließt er erst zeilenweise.
Geändert von Lin728 (20-08-2017 um 19:15 Uhr)
-
zeig's mir!
hi
das waer cool wenns so waere..
kannst du mir mal ein stueck code geben wo du sofort nach nem tastenanschlag die taste ausgeben kannst? und ich mein natuerlich nicht die ausgabe der shell die bei jedem druck kommt, hehe.
gruss
marius
-
Das Linux-Terminal selbst sendet erst Daten, wenn Enter gedrückt wurde, man muss, wenn man über jeden Tastendruck informiert werden will, den Modus auf nicht-kanonisch (IIRC) umstellen. Mit Java wird das wohl nicht gehen; du könntest natürlich vor dem Start des Java-Programmes mithilfe eines C-Programms die umstellung vornehmen...
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen