Первый символ не обнаруживается / печатается с использованием Jline 2.14 с Java
int readChar = cnslRdr.readCharacter();
if ( readChar == 9){
if (cnslRdr.readCharacter() == 9 ){
cnslRdr.println("Double tab presssed..");
continue;
}
}
Приведенный выше код при запуске в командной строке не обнаруживает набранный первый символ. Приведенная выше логика используется для обнаружения нажатия клавиши Double Tab в консольном ридере Jline2.14
1 ответ
Я посмотрел на документацию по этому методу, и похоже, что у него другая подпись, чем та, которую вы используете.
public final int readCharacter(char[] allowed){...}
Я не видел никаких других перегрузок. У меня нет никакого опыта работы с JLine, но может случиться так, что вам нужно передать аргумент, такой как new char[]{'\t'}, чтобы он мог обнаружить это нажатие клавиши.
Источник: http://jline.sourceforge.net/javadoc/jline/ConsoleReader.html