{"id":1846,"date":"2013-02-24T12:26:34","date_gmt":"2013-02-24T10:26:34","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1846"},"modified":"2013-02-24T12:26:34","modified_gmt":"2013-02-24T10:26:34","slug":"inselraus-die-farben-des-systems-ber-java-awt-systemcolor","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/02\/inselraus-die-farben-des-systems-ber-java-awt-systemcolor\/","title":{"rendered":"Inselraus: Die Farben des Systems &uuml;ber java.awt.SystemColor"},"content":{"rendered":"<p>Bei eigenen Java-Programmen ist es wichtig, dass diese sich so perfekt wie m\u00f6glich in die Reihe der anderen Client-Programme einordnen, ohne gro\u00dfartig aufzufallen. Daf\u00fcr muss ein Fenster die globalen Einstellungen wie den Zeichensatz und die Farben kennen. F\u00fcr die Systemfarben gibt es die Klasse SystemColor, die alle Farben einer grafischen Oberfl\u00e4che auf symbolische Konstanten abbildet. So ist SystemColor.text<a href=\"file:\/\/\/C:\/Users\/Christian\/Dropbox\/Insel\/2\/#_ftn1_8580\" name=\"_ftnref1_8580\">[1]<\/a> die Hintergrundfarbe von Texteingabefeldern. Besonders praktisch ist dies bei \u00c4nderungen von Farben w\u00e4hrend der Laufzeit. \u00dcber diese Klasse k\u00f6nnen immer die aktuellen Werte eingeholt werden, denn \u00e4ndert sich beispielsweise die Hintergrundfarbe der Laufleisten, \u00e4ndert sich damit auch der RGB-Wert.<\/p>\n<p>Die Systemfarben sind Konstanten von Typ SystemColor, was eine Unterklasse von Color ist. Damit lassen sich sich direkt nutzen, etwa \u00fcber setColor(Color) oder \u00fcber getRGB() der RGB-Anteil erfragen. Die Klasse SystemColor hat keine eigenen \u00f6ffentlichen Methoden, sondern \u00fcberschreibt nur toString().<\/p>\n<p>Die Klasse deklariert die folgenden statischen finalen Variablen:<\/p>\n<p>class java.awt.SystemColor extends Color implements Serializable   <\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>SystemColor<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Welche Farbe darauf anspricht<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>desktop<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Farbe des Desktop-Hintergrunds<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>activeCaption<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarben f\u00fcr Text im Fensterrahmen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>activeCaptionText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Farbe f\u00fcr Text im Fensterrahmen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>activeCaptionBorder<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Rahmenfarbe f\u00fcr Text im Fensterrahmen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>inactiveCaption<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe f\u00fcr inaktiven Text im Fensterrahmen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>inactiveCaptionText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Farbe f\u00fcr inaktiven Text im Fensterrahmen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>inactiveCaptionBorder<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Rahmenfarbe f\u00fcr inaktiven Text im Fensterrahmen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>window<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe der Fenster<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>windowBorder<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Rahmenfarbe der Fenster<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>windowText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Textfarbe f\u00fcr Fenster<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>menu<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe f\u00fcr Men\u00fcs<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>menuText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Textfarbe f\u00fcr Men\u00fcs<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>text<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe f\u00fcr Textkomponenten<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>textText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Textfarbe f\u00fcr Textkomponenten<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>textHighlight<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe f\u00fcr hervorgehobenen Text<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>textHighlightText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Farbe des Texts, wenn dieser hervorgehoben ist<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>textInactiveText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Farbe f\u00fcr inaktiven Text<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>control<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe f\u00fcr Kontrollobjekte<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>controlText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Textfarbe f\u00fcr Kontrollobjekte<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>controlHighlight<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>normale Farbe, mit der Kontrollobjekte hervorgehoben werden<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>controlLtHighlight<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>hellere Farbe, mit der Kontrollobjekte hervorgehoben werden<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>controlShadow<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>normale Hintergrundfarbe f\u00fcr Kontrollobjekte<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>controlDkShadow<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>dunklerer Schatten f\u00fcr Kontrollobjekte<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>scrollbar<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe der Schieberegler<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>Info<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Hintergrundfarbe der Hilfe<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"143\">\n<p>infoText<\/p>\n<\/td>\n<td valign=\"top\" width=\"386\">\n<p>Textfarbe der Hilfe<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>Konstanten der Systemfarben<\/em><\/p>\n<p>Hinweis: Die Klasse javax.swing.UIManager ist ein gro\u00dfer Assoziativspeicher, bei dem sich weitere Belegungen erfragen lassen. Es erfragt zum Beispiel UIManager.getColor(&quot;Table.background&quot;) die Tabellen-Hintergrundfarbe vom gerade eingestellen Look and Feel.<a href=\"file:\/\/\/C:\/Users\/Christian\/Dropbox\/Insel\/2\/#_ftn2_8580\" name=\"_ftnref2_8580\">[2]<\/a><\/p>\n<hr align=\"left\" size=\"1\" width=\"33%\" \/>\n<p><a href=\"file:\/\/\/C:\/Users\/Christian\/Dropbox\/Insel\/2\/#_ftnref1_8580\" name=\"_ftn1_8580\">[1]<\/a> Sun verst\u00f6\u00dft mal wieder gegen die eigenen Namenskonventionen. Die finalen Variablen \u2013 Konstanten \u2013 sollten gro\u00dfgeschrieben werden. Das funktioniert bei den SystemColor-Objekten aber nicht, da es alle Bezeichnernamen schon in Gro\u00dfbuchstaben gibt, und zwar f\u00fcr Variablen vom Typ Byte, die Verweise in eine interne Tabelle darstellen.<\/p>\n<p><a href=\"file:\/\/\/C:\/Users\/Christian\/Dropbox\/Insel\/2\/#_ftnref2_8580\" name=\"_ftn2_8580\"><ins datetime=\"2012-07-01T10:50\" cite=\"mailto:Christian\">[2]<\/ins><\/a> Die Seite <a href=\"http:\/\/www.devdaily.com\/java\/java-uimanager-color-keys-list\">http:\/\/www.devdaily.com\/java\/java-uimanager-color-keys-list<\/a> liefert eine Auflistung der Schl\u00fcssel und ein Programm zur Anzeige.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei eigenen Java-Programmen ist es wichtig, dass diese sich so perfekt wie m\u00f6glich in die Reihe der anderen Client-Programme einordnen, ohne gro\u00dfartig aufzufallen. Daf\u00fcr muss ein Fenster die globalen Einstellungen wie den Zeichensatz und die Farben kennen. F\u00fcr die Systemfarben gibt es die Klasse SystemColor, die alle Farben einer grafischen Oberfl\u00e4che auf symbolische Konstanten abbildet. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[14],"tags":[],"class_list":["post-1846","post","type-post","status-publish","format-standard","hentry","category-java-se"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=1846"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1846\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1846"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}