JLine2中的错误? ConsoleReader.clearScreen

时间:2015-11-14 16:43:56

标签: java jline

<小时/> 编辑:只有当我调用clearScreen的{​​{1}}方法时才会出现feature!任何其他更改都没有效果。这是JLine2中的错误吗?

JLine2:

为什么,当我运行此操作时,我是否会直接跟随两个控制台提示(ConsoleReader)? 是因为正在创建两个游戏机吗?我不明白怎么做 我在这里没有看到什么?

----> ---->

1 个答案:

答案 0 :(得分:0)

这不是错误,您只需在每次致电con.flush()后致电con.clearScreen()

clearScreen方法不会自动调用flush()(在某些情况下可能无法刷新)但readLine方法会这样做,因此屏幕实际上只在你打电话给con.readLine()。这导致最后System.out.println(在readLine之前)被清除,即使它在con.clearScreen()之后被调用。

try块中的代码应更改为:

ConsoleReader con = new ConsoleReader();
con.setPrompt(prompt1);

con.clearScreen();
con.flush();
System.out.println("Press any key to continue...");
con.readCharacter();
con.clearScreen();
con.flush();

System.out.println("Here is a prompt. Do something and press enter to continue...");
String line = con.readLine();
con.clearScreen();
con.flush();

System.out.println("You typed: ");
System.out.println(line);
System.out.println("Press any key to exit. ");
con.readCharacter();
con.clearScreen();
con.flush();