12

我正在尝试在我的控制台应用程序中创建进程动画。是否可以根据需要重写以前的行?我知道,\r但它只适用于当前行。

如果不可能,我怎么能达到动画效果?谢谢。

我的控制台是标准的 Ubuntu 12.04 终端模拟器。


感谢@MrSmith42,我做了这个简单的演示,展示了覆盖行的方法:

public class Flush {
    public static void main(String[] args) {
        for(int i = 0; i < 5; i++) {
            System.out.println("**********************************");
        }
        // ESC[5A - cursor up 5 times
        // \r - cursor return to begin of line
        // ESC[J - erase to end of screen
        System.out.print("\033[5A\r\033[J");
        for(int i = 0; i < 5; i++) {
            System.out.println("##################################");
        }
    }
}
4

1 回答 1

7

这取决于您的控制台。很多控制台支持 vt100 命令,例如允许更改光标的位置或更改文本或背景的颜色。

我经常使用它在我的 java 程序中将彩色调试输出输出到 shell。

如果链接失效,请使用此谷歌搜索 https://www.google.de/search?q=vt100+comands&oq=vt100+comands

于 2013-02-24T12:27:53.467 回答