Konsole aktualisieren

Xerses

Mitglied
Hallo zusammen,

ich schreib gerade ein Programm womit man die x und y Koordinaten zweier Joysticks auslesen kann. Diese möchte ich dann im Konsolenfenster ausgeben.
Code:
System.out.println("Joystick 1 X: " + x1);
System.out.println("Joystick 1 Y: " + y1);
System.out.println("Joystick 2 X: " + x2);
System.out.println("Joystick 2 Y: " + y2);
Nun springt er aber nach jeder abfrage in die nächste zeile, was ich nciht möchte. Ich will das er den letzten 4 Zeilen überschreibt und die neuen Werte dort hin klatscht.

Ist das irgendwie möglich?

Danke im Voraus
Xerses
 

eRaaaa

Top Contributor
Nein, das ist nicht möglich. Du könntest x-leere Ausgaben machen, so dass deine Alten nicht mehr zu sehen sind, aber ob das so schön ist :D
 

hdi

Top Contributor
Hi,

es gibt keine OS-unabhängige Möglichkeit dafür, und selbst wenn du zB nur auf Windows abzielst ist nicht garantiert dass soetwas geht. Aus einem anderen Forum:

Have you tried ANSI control codes? The first combo which might work is save/restore cursor position:
Java:
System.out.print("\033[s"); // save
System.out.print("123");
System.out.print("\033[u"); // restore
System.out.print("456");
The second is to use the backwards movement:
Java:
System.out.print("123");
System.out.print("\033[3D"); // back 3
System.out.print("456");
The third, which might be less useful, is to use absolute cursor positioning:
Java:
System.out.print("\033[2,5H"); // jump to line 2, column 5

Was auch klappen könnte ist einfach
Code:
System.out.print(something + "\r");
 
T

Tomate_Salat

Gast
notfalls eigene kleine Konsole schreiben(gibt glaub ich auch ein Framework dazu, ka. Aber eine eigene Konsole die nur Ausgaben tätigt zu schreiben, ist jz nicht der Aufwand) oder das ganze an eine GUI weitergeben. So rein System.out.println() finde ich als Lösung eh nicht gut, da du mind. die Betriebssystemconsole offen haben musst um die Ausgaben zu erhalten. Soll es über diese Laufen, dann mach doch das ganze doch einfach mittels JNI oder JNA, da kannst du ja verschiedene libs für die verschiedene Systeme anbieten, womit du auch hier weitgehendst Plattformunabhängig bleiben kannst.
 
T

Tomate_Salat

Gast
Java:
import javax.swing.JOptionPane;

public class ConsolenAni2Demo 
{
    public static String cls= "";
    
    public static void out(String out)
    {
        for(int i = 0; i < out.length(); i++)
        {
            cls += "\b";
        }
        
        System.out.print(out);
    }
    
    public static void cls()
    {
        System.out.print(cls);
        cls = "";
    }
    
    public static void main(String[] args) 
    {
        out("Joystick X: 12");
        
        JOptionPane.showMessageDialog(null, "TEST");

        cls();
        
        out("Joystick X: 132");
    }
}

aber mit [c]\n[/c] hatt er seine schwierigkeiten. Ansonsten Funktioniert es.
 
G

Gast2

Gast
\r geht auch auf einer Windows Shell

Java:
	    public static void main(String[] args) 
	    {
	    	System.out.print("\r"+"Joystick X: 12");
	        
	        JOptionPane.showMessageDialog(null, "TEST");

	        System.out.print("\r"+"Joystick X: 132");
	    }
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Afaik gar nicht. \n ist ein Linefeed. Da kommst du nicht mehr zurück in einem Zeilenbasierten Terminal.

\r geht btw auch auf einem Unixterminal.
 

L-ectron-X

Gesperrter Benutzer
Unter Windows sollten \n und \r gesetzt werden. Unter Linux reicht \r unter Mac nur \n.

Vielleicht gibt es einen Code für Backspace? Aber ob der dann auch eine Zeile hoch rutschen kann...
...ich glaube nicht. :bahnhof:
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
ja das ist ja gar kein Problem. Mit ner Tabelle kann man dann noch schön Fehler etc markieren, aber es geht ja gerade um Console des Betriebssystemes
 
G

Gast2

Gast
Unter Windows sollten \n und \r gesetzt werden. Unter Linux reicht \r unter Mac nur \n.

Wofür? Egal auf welchem OS du bist gelten immer die gleichen Konventionen:

\r => carriage return
\n => linefeed

Windows verwendet nur \r\n für Zeilenumbrüche in Textdateien während alle *nix-artigen nur \n setzten. Mit nur \r kommst du auf einem Linux, BSD oder Solaris auch nicht weiter.

Das Problem ist das das Terminal nur die aktuelle Zeile bearbeiten kann und da dann halt auch eine carriage return zum Zeilenanfang zurück. Wenn aber ein line feed gemacht wurde war es das, die Zeile kann dann nicht mehr verändert werden.

Wenn es eine umfangreichere GUI sein soll die auch auf einer Konsole gut läuft muss man sich in JCurses oder CHARVA einarbeiten. Ist eigentlich sehr cool - man muss nur einemal eine runtime library für jedes target OS bauen wenn die mitgelieferten libs nicht laufen.
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Angeblich wohl nicht, wie aus Fachbüchern zu entnehmen ist.

Bitte was? \n bleibt line feed, \r bleibt carriage return - egal wo. Der einzige Unterschied ist das Windows noch aus DOS zeichen ein CRLF am Zeilenende mitschleift.

Dann nenn doch bitte mal das "Fachbuch" welches schreibt das \r auf Linuxsystemen eine Zeilenvorschub bewirkt?

Ich arbeite mit Windows, Linux, HP-UX, Solaris Varianten - und alle erwarten \n für einen line feed, verstehen auch \r\n je nach Editor. \r alleine genügt auf KEINER Plattform.

Um genau zu sein ist es im allgemeinen einfach nur eine Frage des Editors, auch unter Windows funktioniert nur LF, z.B. mit dem notepad++, der Windows Texteditor besteht auf \r\n um einen Zeielen umbruch anzuzeigen.

Das Terminal/Shell von Windows versteht auch nur \n für einen line feed.

Letztendlich geht es wirklich nur um die Anzeige in dem Texteditor deiner Wahl.
 

Empire Phoenix

Top Contributor
Hi,

es gibt keine OS-unabhängige Möglichkeit dafür, und selbst wenn du zB nur auf Windows abzielst ist nicht garantiert dass soetwas geht.

Erm doch cls? Funktioniert zuverlässig und ist (relativ) langsam (auch aus reinen c++ code raus)

#include <stdlib.h>
...
system("cls");

(Müsste man natürlich in java per JNA oder JNI benutzen, aber es ist zuverlässig)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R0m1lly BinärBaum auf Konsole ausgeben Allgemeine Java-Themen 9
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
Master3000 Komisches Zeichen als Ausgabe in der Konsole Allgemeine Java-Themen 20
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
S Wörterliste nach Wörtern mit u durchsuchen und diese auf der Konsole ausgeben lassen Allgemeine Java-Themen 33
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
M Cmd Konsole als Java Konsole Allgemeine Java-Themen 5
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
R .txt Datei einlesen und auf der Konsole ausgeben lassen Allgemeine Java-Themen 11
A Befehle in Konsole. Allgemeine Java-Themen 12
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
Neumi5694 Swing GUI vs Konsole Allgemeine Java-Themen 4
T Input/Output Konsole gibt trotz printf keine Umlaute aus Allgemeine Java-Themen 17
B Farbiger Text in der Konsole Allgemeine Java-Themen 1
RalleYTN JAnsi Warum bleiben die Hintergrundfarben beim Reseten der Konsole? Allgemeine Java-Themen 0
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
W Java Konsole "aufteilen" Allgemeine Java-Themen 4
G Warnung in der Konsole von Eclipse "WARNING: ..." Allgemeine Java-Themen 2
B Text in die Mitte der Konsole schreiben. Allgemeine Java-Themen 1
L Konsole gibt Smileys aus Allgemeine Java-Themen 3
T Mit Java auf die Konsole eines Process-Objekts zugreifen Allgemeine Java-Themen 10
Kaniee Konsole "mitlesen" Allgemeine Java-Themen 6
P .Jar Datein Windows Konsole zugewiesen Allgemeine Java-Themen 3
L Input/Output ProcessBuilder und Windows - Konsole verbergen? Allgemeine Java-Themen 5
T Methoden In Konsole tasten abfangen? Allgemeine Java-Themen 4
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9
J Java-Klasse über Konsole starten Allgemeine Java-Themen 6
cedi Eingegebenen Text in der Konsole nicht sichtbar machen oder nur in Sternchen anzeigen Allgemeine Java-Themen 2
R java in der konsole nicht gefunden trotz jre,jdk,home und path Allgemeine Java-Themen 4
Y Anwendung starten(JAR) - Entscheidung Konsole oder Swing Allgemeine Java-Themen 5
P Java Konsole zur Laufzeit einblenden Allgemeine Java-Themen 4
D Windows-Konsole auslesen - Zeichenkodierung Allgemeine Java-Themen 4
N GUI und zusätzlich Konsole Allgemeine Java-Themen 4
M Problem bei einer Baumausgabe auf der Konsole Allgemeine Java-Themen 3
neonfly Anzahl Zeichen pro Zeile auf der Konsole Allgemeine Java-Themen 8
Z Java Programm - xxxxx auf der Konsole ausgeben Allgemeine Java-Themen 4
F Unterstrichenes U in Eclipse-Konsole ausgeben Allgemeine Java-Themen 10
M Enter Taste in Konsole abfragen Allgemeine Java-Themen 2
B Ausgabe auf der Konsole bei Nebenläufigkeit, Threads und Synchronisation Allgemeine Java-Themen 8
Z Swing vs Konsole Allgemeine Java-Themen 17
E Gibt es Befehle für Kursor auf Konsole ? Allgemeine Java-Themen 3
? Swing Anwendung aus Konsole starten Allgemeine Java-Themen 7
S Error aus der Konsole auslesen Allgemeine Java-Themen 2
T Feststellen ob System-Konsole verfügbar Allgemeine Java-Themen 2
S Rückmeldung von Konsole(Batch) an Java Allgemeine Java-Themen 2
G jar datei MIT Konsole Allgemeine Java-Themen 5
zilti Java-Konsole auslesen? Allgemeine Java-Themen 10
S Aufruf in Konsole mit beliebig vielen Argumenten? Allgemeine Java-Themen 18
M Java Klassen funktioner auf Konsole nicht in Eclipse Allgemeine Java-Themen 4
V JavaProgramm von Konsole starten geht nichtmehr Allgemeine Java-Themen 4
J Threads + Dualcore = Probleme mit dem Output auf der Konsole Allgemeine Java-Themen 12
Saxony DOS Konsole und deren Streams Allgemeine Java-Themen 5
M Pfeiltasten in Konsole Allgemeine Java-Themen 2
F Konsole Allgemeine Java-Themen 2
T Konsole "Fehlermeldung": error hereerror here Allgemeine Java-Themen 4
B Unterschied: jar <-> konsole Allgemeine Java-Themen 9
R Javaprogramm von der Konsole starten Allgemeine Java-Themen 4
M einzelne Tastendrücke von der Konsole einlesen Allgemeine Java-Themen 3
V Befehle von der Konsole einlesen und Escape-Sequenzen. Allgemeine Java-Themen 2
A Ausdrucken von Konsole Allgemeine Java-Themen 4
rambozola anzahl zeichen in konsole eclipse begrenzt? Allgemeine Java-Themen 5
N Konsole im eigenen Java-Programm Allgemeine Java-Themen 4
S java Programme über Konsole starten Allgemeine Java-Themen 5
L char-Zeichen per Konsole einlesen Allgemeine Java-Themen 4
M Unter MacOS einen Befehl auf Konsole ausführen? Allgemeine Java-Themen 6
D Verzögertes schliessen der Konsole Allgemeine Java-Themen 17
J Probleme mit der CommApi beim ProgrammStart über Konsole Allgemeine Java-Themen 2
V Konsole leeren Allgemeine Java-Themen 13
B Konsole: Bildschirm löschen Allgemeine Java-Themen 9
S Programm über Konsole startet nicht Allgemeine Java-Themen 2
A ChatProgramm für Konsole Allgemeine Java-Themen 3
L Dos Konsole mit Java auslesen ? Allgemeine Java-Themen 2
C Die Konsole ins eigene Programm einbauen Allgemeine Java-Themen 5
S Bildschirm in Konsole löschen? Allgemeine Java-Themen 6
L Best Practice Zip Datei aktualisieren Allgemeine Java-Themen 1
S @version in Kommentaren aktualisieren Allgemeine Java-Themen 10
G jTable aktualisieren?! Allgemeine Java-Themen 1
MiMa Metadaten in PDF scheiben/Aktualisieren Allgemeine Java-Themen 11
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
C Threads Variablen in einem Thread Aktualisieren Allgemeine Java-Themen 17
Q Zeit in GUI selbst aktualisieren Allgemeine Java-Themen 5
G Binärbaum aktualisieren Allgemeine Java-Themen 11
2 ArrayList aktualisieren Algorithmus Allgemeine Java-Themen 11
M Applet Oberfläche aktualisieren Allgemeine Java-Themen 5
X Kann JLabel in JFrame nicht aktualisieren Allgemeine Java-Themen 3
Iron Monkey JNLP nach Änderung automatisch aktualisieren Allgemeine Java-Themen 18
T .jar-Datei aus Java heraus aktualisieren Allgemeine Java-Themen 8
M JTree aktualisieren nach Mausklick Allgemeine Java-Themen 12
Benji0815 Wert in GUI aktualisieren, Beobachter Allgemeine Java-Themen 9
A ResultSet TableModel aktualisieren? Allgemeine Java-Themen 9
P Umrechnungskurse für Währungen periodisch aktualisieren Allgemeine Java-Themen 2
M Werte im Browser aktualisieren Allgemeine Java-Themen 2
S Model richtig aktualisieren Allgemeine Java-Themen 7
D JLabel aktualisieren Allgemeine Java-Themen 4
B JScrollPane in einer JTable aktualisieren? Allgemeine Java-Themen 9
MQue Konzept- Frage zum Button-Aktualisieren Allgemeine Java-Themen 5
MQue Daten aktualisieren Allgemeine Java-Themen 2
E aktualisieren eines Images Allgemeine Java-Themen 6

Ähnliche Java Themen


Oben