In meiner Firma müssen wir diese Art von häufig auf Embedded-Displays wechseln. Wir verwenden indizierte Bitmaps, um das zu erreichen, wovon Sie sprechen. Die Grundidee besteht darin, die Palette für einen bestimmten Index zu wechseln, um ein anderes Aussehen und Gefühl zu erhalten.
Die Idee mit einer indizierten Bitmap ist, dass Sie in der Palette 256 Farben zur Verfügung haben. Sie können jedem gewünschten Bereich in der Palette beliebige RGB-Werte zuweisen. Das Bild selbst ist nur eine Liste von Indizes in der Palette (einzelnes Byte pro Pixel). Das ist auf CPU- und Speicher-Constrained-Plattformen (wo Sie nicht mit der Dekomprimierung von Bildern fertig werden und Sie nicht den Platz für Vollfarben-Bitmaps sparen können) wirklich cool. Sie können alternative Paletten erstellen (Grün, Gelb, Rot usw.). Sie wechseln nur die Palette und die Grafik sieht komplett anders aus. Wir verwenden dies, um sehr feine Verläufe auf Widgets zu erzeugen, die die Farbe wechseln können, ohne jeden Zustand einer Schaltfläche mit sich herumtragen zu müssen.
Um Ihr spezifisches Problem mit indizierten Bitmaps zu lösen, würden Sie nur Paletten wechseln und sicherstellen, dass in einer Palette der Index (113,75,96) war und in der zweiten Palette der gleiche Index (255,255,255).
IndexColorModel ist ein guter Ort, um in AWT zu starten.
Viel Glück!
Scheint wie das gleiche Problem http://stackoverflow.com/q/2369809/422353. – madth3