命令行中的 Java 密钥侦听器

2022-09-04 07:17:31

大多数演示在 Swing 中显示 keyevent,命令行中的等效项是什么?


答案 1

Swing 与命令行环境的不同之处在于,控制台窗口中没有事件。标准 GUI 处理对象和事件。控制台没有这种等效的概念。

拥有的是标准输入(以及标准输出),您可以从中读取。请参阅这个问题,了解如何从控制台读取单个字符(无需等待换行符) - 或者更确切地说,在Java中这样做并不容易。

当然,您始终可以在单独的线程上异步执行读取。即主线程将继续做一些事情,侦听器线程等待I / O阻塞调用。但这只能在应用程序级别实现和处理。


答案 2

你可以在循环中使用:BufferedReader

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String line = "";

   while (line.equalsIgnoreCase("quit") == false) {
       line = in.readLine();

       //do something
   }

   in.close();

推荐