Arokh
2007-07-17, 00:45:25
Hi Leute,
ich möchte in ein Java-Programm eine fps-Anzeige auf der Kommandozeile einbauen. Dabei soll die aktuelle Anzeige aber nicht jeweils in eine neue Zeile geschrieben werden, sondern die alte überschreiben. In C würde ich das folgendermaßen realisieren:
int frames;
// frames berechnen...
printf("%i fps\r", frames);
Das Wagenrücklaufzeichen '\r' bewirkt, das nach jeder fps-Ausgabe an den Anfang der Zeile zurückgesprungen wird und bei der nächsten Ausgabe die bisherige überschrieben wird.
Ich weiß aber nicht, wie in das Java hinbekommen kann. Ich habe folgende Variante ausprobiert:
System.out.print(String.valueOf(frames)+" fps\r");
die aber nur bewirkt, daß jeweils in die nächste Zeile gesprungen wird statt an den Anfang der aktuellen zurück.
Ich hab auch schon das hier versucht:
System.out.printf("%i fps\r", new Object[] { new Integer(frames) });
das aber überhaupt nicht funktioniert (überhaupt keine Kommandozeilen-Ausgabe).
ich möchte in ein Java-Programm eine fps-Anzeige auf der Kommandozeile einbauen. Dabei soll die aktuelle Anzeige aber nicht jeweils in eine neue Zeile geschrieben werden, sondern die alte überschreiben. In C würde ich das folgendermaßen realisieren:
int frames;
// frames berechnen...
printf("%i fps\r", frames);
Das Wagenrücklaufzeichen '\r' bewirkt, das nach jeder fps-Ausgabe an den Anfang der Zeile zurückgesprungen wird und bei der nächsten Ausgabe die bisherige überschrieben wird.
Ich weiß aber nicht, wie in das Java hinbekommen kann. Ich habe folgende Variante ausprobiert:
System.out.print(String.valueOf(frames)+" fps\r");
die aber nur bewirkt, daß jeweils in die nächste Zeile gesprungen wird statt an den Anfang der aktuellen zurück.
Ich hab auch schon das hier versucht:
System.out.printf("%i fps\r", new Object[] { new Integer(frames) });
das aber überhaupt nicht funktioniert (überhaupt keine Kommandozeilen-Ausgabe).