Hi!
Ich bin auf der Suche nach einem (einfachen) Weg, eine Komponente und deren Subkomponenten nur in Graustufen zeichnen zu lassen.
Gibt es diesen überhaupt?
Bisher habe ich probiert, in den überschriebenen paint*-Methoden der Komponente die Graphics in einen Proxy zu setzen und diesen dann mit überschriebenem set/getColor() – diese wandeln die RGB-Werte in Graustufen um – an super.paint* weiterzureichen (die restlichen Methoden delegieren einfach an die ursprüngliche Graphics weiter).
Dies hat aber keinen Einfluss, wenn es darum geht, die Subkomponenten zu zeichnen.
Ein (steiniger) Weg wäre etwa, bei allen Komponenten, die man einsetzt, die set/getForeground() und set/getBackground() zu überschreiben. Das fänd ich jetzt nicht so praktikabel, zumal je nach Look and Feel weitere Farben (nicht zu vergessen die UIProperties) dazukommen.
Kann ich Java mitteilen, dass das System nur Graustufen kennt und es somit dazu verleiten, alles nur in Graustufen zu zeichnen?
Ich bin auf der Suche nach einem (einfachen) Weg, eine Komponente und deren Subkomponenten nur in Graustufen zeichnen zu lassen.
Gibt es diesen überhaupt?
Bisher habe ich probiert, in den überschriebenen paint*-Methoden der Komponente die Graphics in einen Proxy zu setzen und diesen dann mit überschriebenem set/getColor() – diese wandeln die RGB-Werte in Graustufen um – an super.paint* weiterzureichen (die restlichen Methoden delegieren einfach an die ursprüngliche Graphics weiter).
Dies hat aber keinen Einfluss, wenn es darum geht, die Subkomponenten zu zeichnen.
Ein (steiniger) Weg wäre etwa, bei allen Komponenten, die man einsetzt, die set/getForeground() und set/getBackground() zu überschreiben. Das fänd ich jetzt nicht so praktikabel, zumal je nach Look and Feel weitere Farben (nicht zu vergessen die UIProperties) dazukommen.
Kann ich Java mitteilen, dass das System nur Graustufen kennt und es somit dazu verleiten, alles nur in Graustufen zu zeichnen?
Zuletzt bearbeitet: