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