int readChar = cnslRdr.readCharacter();
if ( readChar == 9){
if (cnslRdr.readCharacter() == 9 ){
cnslRdr.println("Double tab presssed..");
continue;
}
}
在commandprompt中运行的上述代码未检测到键入的第一个字符。以上逻辑用于检测Jline2.14控制台阅读器中的双键按键
答案 0 :(得分:0)
我查看了此方法的文档,它似乎与您使用的签名不同。
public final int readCharacter(char[] allowed){...}
我没有看到任何其他重载。我对JLine没有任何经验,但可能需要传递一个像new char [] {'\ t'}这样的参数,以允许它检测到击键。
来源:http://jline.sourceforge.net/javadoc/jline/ConsoleReader.html