gpt4 book ai didi

Java Lanterna - 无法读取用户输入

转载 作者:行者123 更新时间:2023-12-02 05:50:23 25 4
gpt4 key购买 nike

我在从 java Lanterna 库终端读取用户输入时遇到问题。当按键时,我希望系统在终端上打印某个字符。我使用这段代码:

公共(public)类蛇{

public static void main(String[] args) {

Terminal terminal = TerminalFacade.createTerminal(System.in, System.out, Charset.forName("UTF8"));
terminal.enterPrivateMode();
Key key =terminal.readInput();
if (key.getKind() == Key.Kind.Tab)

{
terminal.moveCursor(100, 100);
terminal.putCharacter('D');

}

}

}

不幸的是,我只打开了终端 - 我无法进行任何输入。有人知道为什么会发生这种情况吗?

最佳答案

根据给定的代码,在 main 方法完成执行之前,您似乎只运行了一次 if 语句。

尝试实现一个 while 循环来连续搜索输入,如下所示:

public static void main(String[] args) {

Terminal terminal = TerminalFacade.createTerminal(System.in, System.out, Charset.forName("UTF8"));
terminal.enterPrivateMode();

// I would recommend changing "true" to a boolean variable that you can flip with a key press.
// For example, the "esc" key to exit the while loop and close the program
Key key;
while(true){
// Read input
key = terminal.readInput();

// Check the input for the "tab" key
if (key.getKind() == Key.Kind.Tab){
terminal.moveCursor(100, 100);
terminal.putCharacter('D');
}
}

terminal.exitPrivateMode();
}

此外,请查看 Lanterna development guide.

关于Java Lanterna - 无法读取用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com