Java konsola

0

Hej, mam pytanie co do zwykłej konsoli w Javie. Otóż, używając Scanner'a mogę łatwo pobierać dane wejściowe z konsoli - z tym, że zawsze muszę zatwierdzić je enterem.
Czy jest możliwość czytania z konsoli klawisza bez zatwierdzania go ? Ponieważ chciałbym zrobić proste menu w stylu

opcja a
opcja b
opcja c

strzałkami (góra, dół) wybrać interesującą mnie opcję i zatwierdzić ją enterem.
Wiem, że w c++ była taka możliwość, a w Javie nigdy się z tym nie spotkałem.

1

Nie, chyba że są jakieś dodatkowe biblioteki do konsoli (typu ncurses w c/c++).
Ewentualnie użycie np. Swinga i udawanie konsoli.

0

Tak, jest taka możliwość: System.in oraz System.out to zwykłe strumienie i możesz na nich pracować przy pomocy tych samych narzędzi, co np. przy czytaniu danych z pliku. Wtedy można napisać taki kawałek kodu, który zaczeka na pojawienie się na wejściu dowolnego znaku i od razu przekaże Ci wtedy sterowanie.

Natomiast jeśli chodzi o rysowanie menu, to muszę Cię trochę rozczarować. Da się to zrobić, ale wyłącznie poprzez wysyłanie odpowiednich kodów sterowania terminalem na System.out (zgodnych ze specyfikacją ANSI X3.64). Java nie posiada żadnych wbudowanych narzędzi do obsługi tekstowego ekranu a'la karty graficzne z lat 80-tych (np. 80x25, swobodny dostęp do komórek), bo po co?

Znalazłem jedną bibliotekę inspirowaną starym tekstowym systemem okien Turbo Vision autorstwa Borlanda i zgodnie z informacjami na stronie projektu, rendering jest tam oparty albo o pisanie na standardowe wyjście System.out, albo o... emulację trybu tekstowego przy pomocy Swinga: https://github.com/klamonte/jexer

0

chciałbym zrobić proste menu w stylu

To co jest proste na jednym systemie operacyjnym i jednym sofcie - na drugim jest nie do przejścia. Zauważ, jak wiele programów ma menu takie, że masz listę ponumerowanych opcji i wybierasz wpisując ten numer i naciskając enter. Na przykład instalator linuxa. Tak więc proponuję - dostosuj się do platformy. Chcesz mieć strzałki - tryb graficzny. Chcesz mieć tryb tekstowy - wybierz coś prostego do realizacji. Jak zrobisz poprawny program, to nikt się nie będzie czepiał, że nie chodzą strzałki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1