命令行中的 Java 密钥侦听器
2022-09-04 07:17:31
大多数演示在 Swing 中显示 keyevent,命令行中的等效项是什么?
Swing 与命令行环境的不同之处在于,控制台窗口中没有事件。标准 GUI 处理对象和事件。控制台没有这种等效的概念。
您拥有的是标准输入(以及标准输出),您可以从中读取。请参阅这个问题,了解如何从控制台读取单个字符(无需等待换行符) - 或者更确切地说,在Java中这样做并不容易。
当然,您始终可以在单独的线程上异步执行读取。即主线程将继续做一些事情,侦听器线程等待I / O阻塞调用。但这只能在应用程序级别实现和处理。
你可以在循环中使用:BufferedReader
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String line = "";
while (line.equalsIgnoreCase("quit") == false) {
line = in.readLine();
//do something
}
in.close();