---
title: 'Inselraus: Die Farben des Systems über java.awt.SystemColor'
url: 'https://tutego.de/blog/javainsel/2013/02/inselraus-die-farben-des-systems-ber-java-awt-systemcolor'
markdown: 'https://tutego.de/blog/javainsel/2013/02/inselraus-die-farben-des-systems-ber-java-awt-systemcolor.md'
date: '2013-02-24'
description: 'Bei eigenen Java-Programmen ist es wichtig, dass diese sich so perfekt wie möglich in die Reihe der anderen Client-Programme einordnen, ohne großartig aufzufallen. Dafür muss ein Fenster die globalen Einstellungen wie den Zeichensatz und die Farben kennen. Für die Systemfarben gibt es die Klasse Sy…'
taxonomy:
  category:
    - 'Java SE'
---

# Inselraus: Die Farben des Systems über java.awt.SystemColor

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Inselraus: Die Farben des Systems über java.awt.SystemColor

24.02.2013 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

Bei eigenen Java-Programmen ist es wichtig, dass diese sich so perfekt wie möglich in die Reihe der anderen Client-Programme einordnen, ohne großartig aufzufallen. Dafür muss ein Fenster die globalen Einstellungen wie den Zeichensatz und die Farben kennen. Für die Systemfarben gibt es die Klasse SystemColor, die alle Farben einer grafischen Oberfläche auf symbolische Konstanten abbildet. So ist SystemColor.text[\[1\]](file:C:/Users/Christian/Dropbox/Insel/2/#_ftn1_8580) die Hintergrundfarbe von Texteingabefeldern. Besonders praktisch ist dies bei Änderungen von Farben während der Laufzeit. Über diese Klasse können immer die aktuellen Werte eingeholt werden, denn ändert sich beispielsweise die Hintergrundfarbe der Laufleisten, ändert sich damit auch der RGB-Wert.

Die Systemfarben sind Konstanten von Typ SystemColor, was eine Unterklasse von Color ist. Damit lassen sich sich direkt nutzen, etwa über `setColor(Color)` oder über `getRGB()` der RGB-Anteil erfragen. Die Klasse SystemColor hat keine eigenen öffentlichen Methoden, sondern überschreibt nur `toString()`.

Die Klasse deklariert die folgenden statischen finalen Variablen:

class `java.awt.SystemColor` extends Color implements Serializable

SystemColor

Welche Farbe darauf anspricht

desktop

Farbe des Desktop-Hintergrunds

`activeCaption`

Hintergrundfarben für Text im Fensterrahmen

`activeCaptionText`

Farbe für Text im Fensterrahmen

`activeCaptionBorder`

Rahmenfarbe für Text im Fensterrahmen

`inactiveCaption`

Hintergrundfarbe für inaktiven Text im Fensterrahmen

`inactiveCaptionText`

Farbe für inaktiven Text im Fensterrahmen

`inactiveCaptionBorder`

Rahmenfarbe für inaktiven Text im Fensterrahmen

window

Hintergrundfarbe der Fenster

`windowBorder`

Rahmenfarbe der Fenster

`windowText`

Textfarbe für Fenster

menu

Hintergrundfarbe für Menüs

`menuText`

Textfarbe für Menüs

text

Hintergrundfarbe für Textkomponenten

`textText`

Textfarbe für Textkomponenten

`textHighlight`

Hintergrundfarbe für hervorgehobenen Text

`textHighlightText`

Farbe des Texts, wenn dieser hervorgehoben ist

`textInactiveText`

Farbe für inaktiven Text

control

Hintergrundfarbe für Kontrollobjekte

`controlText`

Textfarbe für Kontrollobjekte

`controlHighlight`

normale Farbe, mit der Kontrollobjekte hervorgehoben werden

`controlLtHighlight`

hellere Farbe, mit der Kontrollobjekte hervorgehoben werden

`controlShadow`

normale Hintergrundfarbe für Kontrollobjekte

`controlDkShadow`

dunklerer Schatten für Kontrollobjekte

scrollbar

Hintergrundfarbe der Schieberegler

Info

Hintergrundfarbe der Hilfe

`infoText`

Textfarbe der Hilfe

*Konstanten der Systemfarben*

Hinweis: Die Klasse `javax.swing.UIManager` ist ein großer Assoziativspeicher, bei dem sich weitere Belegungen erfragen lassen. Es erfragt zum Beispiel UIManager.`getColor`("Table.background") die Tabellen-Hintergrundfarbe vom gerade eingestellen Look and Feel.[\[2\]](file:C:/Users/Christian/Dropbox/Insel/2/#_ftn2_8580)

---

[\[1\]](file:C:/Users/Christian/Dropbox/Insel/2/#_ftnref1_8580) Sun verstößt mal wieder gegen die eigenen Namenskonventionen. Die finalen Variablen – Konstanten – sollten großgeschrieben werden. Das funktioniert bei den SystemColor-Objekten aber nicht, da es alle Bezeichnernamen schon in Großbuchstaben gibt, und zwar für Variablen vom Typ Byte, die Verweise in eine interne Tabelle darstellen.

[\[2\]](file:C:/Users/Christian/Dropbox/Insel/2/#_ftnref2_8580) Die Seite liefert eine Auflistung der Schlüssel und ein Programm zur Anzeige.

Kategorien: [Java SE](https://tutego.de/blog/javainsel/category/java-se/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Inselraus: Zeichensätze des Systems ermitteln](https://tutego.de/blog/javainsel/2013/02/inselraus-zeichenstze-des-systems-ermitteln.md)
