Получить нажатие клавиши без нажатия Enter в консоли - PullRequest
7 голосов
/ 25 декабря 2010

У меня есть консольная программа, написанная на Java, которая должна реагировать на нажатия одной клавиши, но пользователь не нажимает клавишу ввода.

Я делаю понг., Поэтому нужны клавиши вверх и вниз для перемещениявещь летучей мыши.

Альтернативные подходы приветствуются!(кроме создания GUI вместо этого)

- Edit:

Я собираюсь запустить свою программу только в системах UNIX (OSX и Linux), поэтому я думаю, что могу поставить терминалв «сырой» режим с этим: stty raw

Когда я набираю это в консоли перед запуском программы, она работает!Но мне нужно, чтобы Java делала это автоматически, поэтому я попробовал это:

Runtime.getRuntime().exec("stty raw");

и ничего не происходит ... вероятно, потому что JVM просто запускает его как отдельный процесс, а не как процесс внутри этого терминала.

1 Ответ

5 голосов
/ 25 декабря 2010

Я думаю, что вы не можете без нативного кода и JNI. Взгляните на библиотеку Java Curses: http://sourceforge.net/projects/javacurses/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...