我创建了一个基于Google Lanterna的终端。
What does this terminal do?
终端在底部有一个输入块,您可以像往常一样输入命令。该块的高度为2行。 in the source its the InputField class
在输入块上方是一个可滚动的文本字段(使用上下箭头滚动)。 in the source its the TextField class
如果您通过按Enter键在InputField中输入内容,它将在TextField中列出(就像命令一样,但是在此示例中没有命令功能)
Whats my Problem?
当我从IDEA中运行该程序时,它是作为Swing终端启动的,它像终端应该运行的那样非常流畅,快速
但是,当我在具有Java 11的buntu 18.04服务器上运行此脚本时,需要几分钟才能绘制一条消息。在项目中,消息应该同时显示,但是当它们在Ubuntu终端中弹出时,会有很大的时差(几分钟)。我在具有相同操作系统和Java版本的2台服务器上进行了尝试。其中一名18岁,一名来自拥有现代硬件的在线主机。它在较新的服务器上运行得更好,但仍然无法实现。
所以,它在Lanterna的Swing终端中运行得非常好,而在“真实”终端中,由于小动作之间的延迟和延迟,这是不可能的。
Source code
Here是GitHub上的源代码(仅是代码)
Here是Mediafire在zip存档中的整个IntelliJ Maven项目。抱歉,我不知道如何在存储库中上传整个项目(pom.xml,...)
Last words
我希望我的问题很清楚,否则请告诉我,我将尽我所能。感谢您的阅读