StarPrinz Geschrieben 11. März 2002 Teilen Geschrieben 11. März 2002 Hi, ich möchte gern eine Textausgabe auf der Konsole machen. Am besten über System.out.println(). Ich hab aber in der Java API nichts gefunden womit ich die Farbe ändern kann. Wenn mit da einer weiter helfen könnte wäre ich sehr dankbar. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 11. März 2002 Teilen Geschrieben 11. März 2002 Hallo, versuchs mal damit: (aus d.c.l.j) Ich wollte es früher mal ausprobieren, bin aber leider nicht dazu gekommen. Gruß Jaraz --------------------------------------------------------- > Kann mit jemand den Befehl sagen mit der ich die Textfarbe in von einem > Text, der in der Kommandozeile ausgegeben werden soll, ändern kann ? Das geht mit Purem Java überhaupt nicht. Im Textmodus kannst du nur über System.out (und System.err) Bytes ausgeben, die dann von einem Terminal interpretiert werden. Wenn du etwas farbig haben willst, musst du das Terminal kennen und über die von diesem verstandenen Zeichenfolgen dieses manipulieren. Ein verbreiteter Standard sind die ANSI-Escape-Zeichenfolgen. Unter Windows 9x ist dafür die Datei ANSI.SYS zuständig, die in der Config.sys geladen werden muss. Unter Linux verstehen die meisten Terminals (Konsolen) automatisch ANSI-Zeichenfolgen, andere Systeme kenne ich nicht. (Ich habe auch einmal versucht, eine Java-Komponente zu schreiben, die diese Zeichenfolgen versteht, die ist aber noch im pre-Alpha-Stadium und würde bei deinem Problem sowieso nichts helfen). Da diese ANSI-Escape-Zeichenfolgen etwas kryptisch sind (also nicht unbedingt programmiererfreundlich), habe ich eine Klasse geschrieben, die alle Möglichkeiten der ANSI-Folgen für die Textausgabe (Cursor-Positionierung, Farbe, blinken, Bildschirm löschen) ausnutzt: paul.tools.TextTools (in PPS /Pauls Package-Sammlung enthalten). > Also ich will ein kleines Menü unter Dos basteln... dazu bräucht > ich natürlich auch noch die Abfrage der tastendrücke...dafür will > ich die Pfeiltasten nehmen. Kann mir jemand die Codes für diese > Tasten geben, damit ich sie erkennen kann bei der Abfrage der > Tastendrücke ? Selbst wenn du die Codes hättest, würden sie dir nicht helfen. Die Standard-Eingabe (System.in) von Java ist nämlich so gebaut, dass eine Einzel-Zeichen-Eingabe nicht möglich ist. Erst nach dem nächsten Betätigen der Eingabetaste sind alle bis dahin eingegebenen Daten abrufbar. Der Nutzer müsste also nach jeder Betätigung einer Cursor-Taste <Return> drücken. Aber auch hier gibt es eine Lösung. Der ANSI-Escape-Standard bietet nämlich auch die Möglichkeit, Tasten umzudefinieren. Damit kann man also z.B. die '->'-Taste in "<rechts>"+Enter umwandeln. Auch dafür habe ich eine Klasse geschrieben: paul.tools.ANSIInput (ebenfalls in PPS enthalten). Dort gibt es auch schon vorgegebene Konstanten für die wichtigsten Tasten (also auch die Cursortasten). Allerdings habe ich gelesen (noch nicht ausprobiert), dass die Tastenumbelegung unter den meisten Nicht-Windows-ANSI-Treibern wegen Sicherheitsrisiken deaktiviert ist. Dann dürfte dies unter Linux also nicht funktionieren. Viel Erfolg Paul -- Pauls Package-Sammlung: http://members.tripod.de/ePaul/PPS-1.1.4-complete.zip Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
StarPrinz Geschrieben 11. März 2002 Autor Teilen Geschrieben 11. März 2002 Danke ich werds mal testen und wenn klappt bescheid sageb. Cya Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.