使用Jline 2.14和java检测/打印第一个字符

时间:2016-07-08 13:19:56

标签: java jline2

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

在commandprompt中运行的上述代码未检测到键入的第一个字符。以上逻辑用于检测Jline2.14控制台阅读器中的双键按键

1 个答案:

答案 0 :(得分:0)

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

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

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

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