パッケージjavax.swing.plaf.nimbus
Nimbusは、Painter
インタフェースのインスタンスを使用してコンポーネントをペイントします。 各Swingコンポーネントについて、フォアグラウンドとバックグラウンドのPainter
が関連付けられており、各種のコンポーネント状態に対して複数のペインタがある場合があります。
UIDefaults
テーブルを変更することによって、ペインタを含む多数のプロパティをカスタマイズできます。 次に例を示します。
UIManager.put("ProgressBar.tileWidth", myTileWidth); UIManager.put("ProgressBar[Enabled].backgroundPainter", myBgPainter); UIManager.put("ProgressBar[Enabled].foregroundPainter", myFgPainter);
また、コンポーネントごとのカスタマイズも可能です。 コンポーネントを描画する場合、Nimbusは「Nimbus.Overrides」という名前のクライアント・プロパティをチェックします。 このプロパティの値は、UIDefaults
のインスタンスであるべきです。 このテーブルの設定はUIManagerの設定をオーバーライドしますが、その特定のコンポーネントのインスタンスのみを対象とします。 オプションのクライアント・プロパティであるBoolean型の「Nimbus.Overrides.InheritDefaults」は、オーバーライドする設定がデフォルト設定とマージされるべきか(true
)、置き換えるべきか(false
)を指定します。 デフォルトでは次のようにマージされます。
JProgressBar bar = new JProgressBar(); UIDefaults overrides = new UIDefaults(); overrides.put("ProgressBar.cycleTime", 330); ... bar.putClientProperty("Nimbus.Overrides", overrides); bar.putClientProperty("Nimbus.Overrides.InheritDefaults", false);
Nimbusの色は原色のコア・セットから派生されます。 また、原色から派生され、その他の派生される色の基本色として機能する等和色もあります。 派生メカニズムにより実行時にカスタマイズが可能です。つまり、原色または等和色が変更されると、その色から派生したすべての色が自動的に更新されます。 メソッドNimbusLookAndFeel.getDerivedColor(java.lang.String, float, float, float, int, boolean)
を使用して派生した色を作成できます。
これらのクラスは、対応するLookAndFeel
クラスがインストールされている間(UIManager.setLookAndFeel(new XXXLookAndFeel())
)に使用するように設計されています。 別のLookAndFeel
がインストールされている間に使用すると、例外を含む予期しない結果を引き起こすことがあります。 さらに、JComponent
の対応するComponentUI
を更新しないでUIManager
が管理するLookAndFeel
を変更すると、違う色が出力されるなど予期しない結果を引き起こすことがあるので、通常はお勧めしません。
ノート: ほとんどのSwing APIはスレッド・セーフではありません。 詳細は、「The Java Tutorial」の「Concurrency in Swing」セクションを参照してください。
- 導入されたバージョン:
- 1.7
-
クラス説明Nimbus内の領域またはコンポーネントを描画するためのPainterインスタンスを定義する便利な基底クラス。ペイント時に便利な、状態をカプセル化するクラス。キャッシュ・モードNimbusLookAndFeelクラス。Nimbusによって使用されるSynthStyle実装。State<T extends JComponent>Nimbus内の組み込みまたはカスタムの状態を表します。