2016-07-08 6 views
0
 int readChar = cnslRdr.readCharacter(); 
     if (readChar == 9){     
       if (cnslRdr.readCharacter() == 9){           
        cnslRdr.println("Double tab presssed..");      
        continue; 
       }    
     } 

上記のコードは、コマンドプロンプトで実行すると最初の文字が検出されません。上記のロジックは、Jline2.14コンソールリーダーでDouble Tabキーを押すのを検出するために使用されます。JavaでJline 2.14を使用して最初の文字が検出/印刷されない

答えて

0

この方法のマニュアルを見ましたが、使用しているものとは異なる署名があるようです。

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

他のオーバーロードは見られませんでした。私はJLineの経験はありませんが、そのキーストロークを検出できるようにするには、新しいchar [] {'\ t'}のような引数を渡す必要があるかもしれません。

出典:http://jline.sourceforge.net/javadoc/jline/ConsoleReader.html

関連する問題