Java有没有一种方法可以查看按键是否未被阻塞?

Java有没有一种方法可以查看按键是否未被阻塞?,java,Java,我有一个机器人程序来测试我的服务器。我希望它退出循环,如果任何键被按下,但不希望它停止并等待,直到一个键被按下。因此,循环将一直运行,直到按下键盘上的任何键为止 这就是我现在试图做的,但不起作用 if (System.in.available()>0) { System.out.println("key pressed"); break; // exit loop } 你的选择是: 创建GU

我有一个机器人程序来测试我的服务器。我希望它退出循环,如果任何键被按下,但不希望它停止并等待,直到一个键被按下。因此,循环将一直运行,直到按下键盘上的任何键为止

这就是我现在试图做的,但不起作用

        if (System.in.available()>0)
        {
            System.out.println("key pressed");
            break; // exit loop
        }
你的选择是:

  • 创建GUI窗口。您可以通过键事件侦听器从awt/swing窗口接收异步键事件

    请参阅最后一个答案中的代码示例

  • 在程序中创建单独的线程以等待按enter键,然后向主循环线程发送结束信号

  • 使用本机库如或(或使用jni/jna编写您自己更简单的等效程序)

    这使您能够连接到本机操作系统的异步密钥处理,尽管即使如此,通常对首先安装的窗口系统存在细微的依赖

您可以选择:

  • 创建GUI窗口。您可以通过键事件侦听器从awt/swing窗口接收异步键事件

    请参阅最后一个答案中的代码示例

  • 在程序中创建单独的线程以等待按enter键,然后向主循环线程发送结束信号

  • 使用本机库如或(或使用jni/jna编写您自己更简单的等效程序)

    这使您能够连接到本机操作系统的异步密钥处理,尽管即使如此,通常对首先安装的窗口系统存在细微的依赖


你需要按enter键或ctrl-d java只提供全行可能的Hi副本你需要按enter键或ctrl-d java只提供全行可能的Hi副本,这似乎非常复杂,无法简单地查看按键是否按下?????我同意这似乎过于复杂,但java控制台应用程序就是这样。嗨,这似乎非常复杂,无法简单地查看键是否已按下?????我同意这似乎过于复杂,但Java控制台应用程序就是这样。