【问题标题】:Java check if user is typing in the consoleJava 检查用户是否在控制台中输入
【发布时间】:2013-05-13 20:00:15
【问题描述】:

有没有办法检查用户是否在 Java 的控制台窗口中输入?我的程序使用System.out.print() 打印它收到的有关客户端连接的信息,我希望它在用户键入时暂时停止打印信息。使用Scanner 类在单独的线程上读取用户输入。我需要能够查看用户是否输入了任何内容,并且仍然有用户输入的任何内容(如果有的话)可供扫描仪使用。如果可能的话,我想避免使用外部库并坚持使用 java 库。

【问题讨论】:

    标签: java input io console output


    【解决方案1】:

    不,没有办法直接使用控制台(据我所知)执行此操作 - 控制台的内容只有在按下 Enter 后才会发送到应用程序,然后可供@987654322 使用@。

    解决此问题的一种方法是制作您自己的控制台,您可以从中读取和写入。然后你就可以做任何你真正想做的事情(包括检查是否有任何东西被突出显示等等)。如果您不知道如何编写 GUI 代码,您应该研究一下。 Oracle 在带有 Swing 的 GUI 上有一个 tutorial

    【讨论】:

    • 好的。我会调查的。谢谢!
    【解决方案2】:

    监听用户控制台的线程,在用户开始打字时产生中断,而打印信息的其他线程需要重置中断,你要做的就是实现场景。

    【讨论】:

      【解决方案3】:

      我认为您正在寻找Thread.sleep(milliseconds);。在用户完成之前使用它,你应该得到你想要的。

      下次请详细说明你的问题。

      【讨论】:

      • 我知道我会让线程等待打印信息。我在问是否有办法检查用户是否在控制台中输入。
      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多