[rmcgregor@cs lanterna]$ make 4 at com.googlecode.lanterna.gui2at com.googlecode.lanterna.gui2.Panel.calculatePreferredSize(Panel.java:217)
at com.googlecode
在Java中,当您在用户键入时打印到控制台。它将销毁正在键入的内容。假设我设置了一个服务器,您可以从该服务器运行命令。那么它看起来可能是这样的。 I'm trClient connected to servere a command 有没有办法绕过这个问题?将文本打印到用户正在键入的行的上方。如果你曾经运行过“我的世界”服务器,你可能知道我在说什么。它看起来像this。 由于“我的世界”是用Java制作的,我知道这是可能的,但我还没能想出一种方法来做到这一点。
从命令行读取密码而不显示密码的标准JVM方法是java.io.Console.readPassword()。然而,当用户键入时,这不会显示任何内容;习惯于图形程序的用户将期望出现诸如“·”或"*“之类的符号来代替他们键入的字符。当然,它们也会希望退格、插入等操作正常工作,只是将所有被操作的字符替换为相同的符号。 在2019年,当用户在控制台应用程序中输入"hunter2“时,是否有一个普遍接受的JVM程序来显示”*“?在没有图形用户界面的情况下,这能做得更好吗?A 2011 SO question on the topic在这个主题上得到了一个链接到this article的
gui.getScreen().newTextGraphics(),Prog ); com.googlecode.lanterna.screen.AbstractScreen$1 cannot be cast to com.googlecode.lanterna.gui2.TextGUIGraphicsProg.setRenderer