2013-02-24 5 views
9

Ich versuche Prozessanimationen in meiner Konsolen-App zu erstellen. Ist es möglich, frühere Zeilen für diese Bedürfnisse neu zu schreiben? Ich weiß über \r, aber es funktioniert nur mit der aktuellen Zeile.Kann die vorherige Zeile in der Konsole überschrieben werden?

Wenn es nicht möglich ist, wie kann ich den Animationseffekt archivieren? Vielen Dank.

Meine Konsole ist Standard Ubuntu 12.04 Terminal-Emulator.


Dank @ MrSmith42 habe ich diese einfache Demo, die Art und Weise Linien überschrieben zeigt:

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("##################################"); 
     } 
    } 
} 

Antwort

4

, die auf Ihrer Konsole abhängt. Viele Konsolen unterstützen vt100 commands, die z.B. Ändern der Position des Cursors oder Ändern der Farbe von Text oder Hintergrund.

Ich benutze es viel, um farbige Debug-Ausgabe in meinen Java-Programmen zur Shell zu machen.

Wenn der Link ist tot Verwendung dieser Google-Suche https://www.google.de/search?q=vt100+comands&oq=vt100+comands

+0

Könnten Sie kurze Demo zeigen? Meine Konsole ist Standard Ubuntu 12.04 Terminal-Emulator. – bsiamionau

+0

Als einfacher Farbtest versuchen Sie 'System.out.println (" Hallo \ 033 [32mgreen \ 033 [0m-Text. ")] – MrSmith42

+0

Es funktioniert. Danke, ich werde versuchen, das Animationsproblem mit diesem zu archivieren. +1 – bsiamionau

Verwandte Themen