【问题标题】:How to redraw the console screen so it would appear as screen was cleared?如何重绘控制台屏幕,使其显示为屏幕已清除?
【发布时间】:2012-11-10 09:07:45
【问题描述】:

所以我想要做的是模拟 Eclipse 终端的清除屏幕。

我知道没有真正的清屏解决方案,所以我知道我必须使用大量空行来清屏。

问题是当我输入大量换行符时,指针会位于终端的底部。

我将如何做到这一点,这样我最终会在终端顶部看到指针,并且整个视图看起来都没有任何文字?

所以它看起来像 Aircrack-ng 一样的界面。屏幕不断变化,但只能通过向下滚动和更新内容等方式。

【问题讨论】:

  • “如何重绘控制台屏幕,使其看起来像屏幕已清除?” 为了获得“专业”外观,请放置一个富客户端桌面应用程序。在屏幕上,并在其中显示输出。
  • 对不起,您指的是哪个指针?
  • 这看起来不是一个好的解决方案。你试过使用Console.flush() 吗?
  • 视情况而定。 Eclipse 终端是“真正的”终端还是将 Java 进程的输出重定向到其中的文本组件??
  • 输入指针,我想。我还没有尝试过 Console.flush()。

标签: java eclipse terminal


【解决方案1】:

你想要的基本上是模拟 clrtobot curses 函数。其中:

从光标处擦除到屏幕末尾。也就是说,它们会擦除窗口中光标下方的所有行。此外,光标右侧的当前行(包括在内)将被删除。

window$中,有“cls”函数,所以你必须使用类似

Runtime.getRuntime().exec("cls");

在大多数 *nix 中都有“清除”功能。但是请不要过分依赖这个解决方案,因为这会有所不同,但你可以使用类似的东西:

Runtime.getRuntime().exec("clear");

我还没有看到不依赖于操作系统的解决方案。

我希望它有所帮助。干杯

【讨论】:

  • Runtime() 由于某种原因无法在 Eclipse 中编译。如何编译?
  • 然后我得到一些错误:Exception in thread "main" java.io.IOException: Cannot run program "cls": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at MainClass.main(MainClass.java:39) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) ... 5 more
  • 不,Windows 8 下的 Eclipse。
  • 对不起,我没有玩过windows 8。也许控制台有些变化。而不是“cls”尝试“cmd /c cls”,如果不起作用“command /c cls”。这些是通过终端调用命令的老式 Windows 方式。试一试,但它未经测试
  • Runtime.getRuntime().exec("cmd /c cls"); 编译但似乎没有做任何事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多