等待Java按键

时间:2012-10-28 13:43:37

标签: java

我希望编写的应用程序非常大,但需要作为服务运行。我打算使用FireDaemon来转换它并将其作为服务运行,但是在推送特定键之前需要让它无效。

我尝试使用DataInputStream和一个等待按键的do / while循环,如下所示:

do {
   char keyPressed = input.readChar();
} while (keyPushed != null);

System.out.println("You pushed: " + keyPushed);

关于这个简单主题的信息并不多,我发现这很奇怪。在Basic中我们曾经使用inkey $等待一个键,Java必须有类似的东西,但我不能把它放在它上面。

任何帮助都会很好。

感谢。 鲍勃格兰特, 宾夕法尼亚

2 个答案:

答案 0 :(得分:0)

怎么样:

if (System.in.available() > 0)
    System.in.read();

答案 1 :(得分:0)

如果我正确地阅读了您的问题,您希望您的应用程序在Windows操作系统的后台运行,直到输入特定的密钥组合 - 例如热键。您将无法单独使用Java,sdk不提供此类接口。您需要在C中编写一个帮助应用程序,并使用JNI作为桥梁。

本文应该对您有所帮助 - Global hotkeys for Java applications under Windows OS