【问题标题】:Simple key listener - java简单的键监听器 - java
【发布时间】:2011-03-27 20:09:56
【问题描述】:

我有一段代码在无限循环中。我想实现一个方法来检查我是否按下按钮作为循环断路器。

while(true)
{
...
   if(this.escapeKeyIsPressed()) //Should return true if escape is pressed at that milisecond
   {
       ... 
       break; 
   }
}

在 java 中最简单的方法是什么?我应该研究哪个图书馆?

提前感谢您的宝贵时间。

【问题讨论】:

  • 它是基于控制台的应用程序还是您使用的是 swing?
  • 基于控制台的应用程序,没有界面atm
  • 不要作为基于控制台的应用程序执行此操作。而是使用 GUI 库,例如 Swing。
  • 我认为没有 GUI 库是不可能的?

标签: java keyboard listener event-listener


【解决方案1】:

This page 提供了一种将控制台设置为非阻塞模式以读取字符的方法,您可以使用它来中断循环。它还为 Python 和 Java 提供了一些其他方法,但它必须被认为有点 hacky 和不可移植(例如在 Windows 下不起作用)。恐怕没有一个“好”的简单方法。

【讨论】:

    【解决方案2】:

    不幸的是,KeyListener 接口是由“java.awt.event”包提供的,它是 Java 图形和窗口工具包的一部分,这意味着这个类只能由窗口应用程序(例如 Swing 程序和 Applets)使用.

    可能存在第三方解决方案,但核心 Java 并未提供可靠的方式来满足您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      • 2014-07-05
      • 2018-09-09
      • 2013-02-15
      • 2014-01-01
      • 2020-10-10
      • 1970-01-01
      相关资源
      最近更新 更多