0
        int readChar = cnslRdr.readCharacter();
        if ( readChar == 9){                
                if (cnslRdr.readCharacter() == 9 ){                                         
                    cnslRdr.println("Double tab presssed..");                       
                    continue;
                }               
        }

上面的代码在命令提示符下运行时没有检测到输入的第一个字符。以上逻辑用于检测Jline2.14控制台Reader中的Double Tab按键

4

1 回答 1

0

我查看了此方法的文档,它似乎与您使用的签名不同。

public final int readCharacter(char[] allowed){...}

我没有看到任何其他超载。我对 JLine 没有任何经验,但可能需要传递一个像 new char[]{'\t'} 这样的参数来让它检测到击键。

来源:http: //jline.sourceforge.net/javadoc/jline/ConsoleReader.html

于 2016-07-08T13:31:00.470 回答