Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Schriftfarben in der Konsole

Empfohlene Antworten

Veröffentlicht

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.

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

Danke ich werds mal testen und wenn klappt bescheid sageb.

Cya

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.