Я разрабатываю пользовательские компоненты, которые вписываются в внешний вид Nimbus. У меня возникла проблема с настройками цвета по умолчанию, которые, как и "nimbusBlueGrey"
в Java 1.6, возвращают экземпляры com.sun.java.swing.plaf.nimbus.DerivedColor
.
Поскольку это закрытый класс, и он в любом случае изменится в Java 7, мне нужно рассматривать его как экземпляр java.awt.Color
. Но когда я пытаюсь смешать цвет, например. настроить оттенок, насыщенность и яркость, эти злые объекты возвращают неправильные цвета RGB. Выход toString
указывает на эту проблему:
DerivedColor(color=50,50,50 parent=nimbusBase offsets=0.03245944,-0.525188,0.196078,0)
Поэтому я хочу иметь возможность читать это как ARGB 0xffa9b0be
, что было бы правильно (см. Nimbus Defaults) -- но то, что я получаю от getRGB
, это бесполезный 0x00323232
.