2011-08-05 30 views
7

Piszę konsolową aplikację Java, w której użytkownik będzie wyświetlał niestandardowe monity poleceń, gdzie może wpisać określone polecenia, chcę zaimplementować funkcję automatycznego uzupełniania dla aplikacji, dzięki której podczas pisania polecenie, jeśli użytkownik naciśnie klawisz TAB, polecenie powinno się zakończyć. Ta funkcja jest podobna do automatycznego uzupełniania w wierszu polecenia systemu Linux.Autouzupełnianie oparte na tabulatorach w aplikacji Console

W aplikacji Java Console nie mamy kontroli nad TAB, a naciśnięty klawisz TAB domyślnie dołączy 8 spacji. Potrzebuję jakiejś sztuczki, której TAB nie wymaga renderowania, a moja aplikacja może zastąpić TAB autouzupełnianiem.

Z góry dziękuję.

+0

Sprawdź projekt RHQ i jego interfejs CLI. Ma całkiem dobrą zaletę autouzupełniania. http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=tree;f=modules/enterprise/remoting/cli;h=ba5c185774538696525b6c05c3777964f5dd606c;hb=HEAD –

+0

Hej GJ, mam bardzo podstawowe pytanie. Jak manipulować ciągami konsoli? Czy używasz bufora String? Czy możesz podzielić się niektórymi decyzjami projektowymi? –

Odpowiedz

7

Możesz spróbować użyć biblioteki takiej jak Java-Readline lub jline2.

+0

Jedynym obecnie aktywnym produktem jest [jline3] (https://github.com/jline/jline3). –

0

Biblioteka analizowania linii poleceń Java ostatnio dodała funkcję autouzupełniania.

Być może spodoba Ci się również sposób, w jaki można użyć kolorów i stylów ANSI w komunikacie pomocy dotyczącej użytkowania.

enter image description here

Zastrzeżenie: Jestem autorem i dlatego tendencyjne.

Powiązane problemy