有没有办法检查用户是否在 Java 的控制台窗口中输入?我的程序打印它收到的有关客户端连接的信息System.out.print()
,我希望它在用户键入时暂时停止打印信息。Scanner
使用该类在单独的线程上读取用户输入。我需要能够查看用户是否输入了任何内容,并且仍然有用户输入的任何内容(如果有的话)可供扫描仪使用。如果可能的话,我想避免使用外部库并坚持使用 java 库。
问问题
1212 次
3 回答
2
不,没有办法直接使用控制台(我知道)来做到这一点 - 控制台的内容只有在按下输入后才会发送到应用程序,然后将可用于Scanner
.
解决它的一种方法是制作自己的控制台,您可以从中读取和写入。然后你就可以做任何你想做的事情(包括检查是否有任何东西被突出显示等等)。如果您不知道如何编写 GUI,您应该研究一下。Oracle 有一个关于使用 Swing 的 GUI 的教程。
于 2013-05-18T22:33:20.810 回答
0
监听用户控制台的线程,在用户开始打字时产生中断,而打印信息的其他线程需要重置中断,你所要做的就是实现场景。
于 2013-05-18T22:34:52.293 回答
0
我想你正在寻找Thread.sleep(milliseconds);
. 在用户完成之前使用它,你应该得到你想要的。
下次,请详细说明您的问题。
于 2013-05-18T22:35:36.450 回答