0

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)

0xffa9b0beしたがって、これを正しいARGBとして読み取れるようにしたいのですが( Nimbus Defaultsを参照)-しかし、私が得たのgetRGBはそれが役に立たないこと0x00323232です。

4

1 に答える 1

0

この問題は、Nimbusが現在のルック アンド フィールではない場合に発生します。DerivedColor現在のルック アンド フィールを調べて、親色のデコードに失敗しているようです。

したがって、解決策は、Nimbus が設定されていない場合に備えて、デフォルトの色のコピーを使用することです。

于 2012-02-23T22:46:30.993 に答える