参照: 説明
クラス | 説明 |
---|---|
AbstractRegionPainter |
Nimbus 内の領域またはコンポーネントを描画するための Painter インスタンスを定義する便利な基底クラス。
|
AbstractRegionPainter.PaintContext |
ペイント時に便利な、状態をカプセル化するクラス。
|
NimbusLookAndFeel |
NimbusLookAndFeel クラス。
|
NimbusStyle |
Nimbus によって使用される SynthStyle 実装。
|
State<T extends JComponent> |
Nimbus 内の組み込みまたはカスタムの状態を表します。
|
列挙型 | 説明 |
---|---|
AbstractRegionPainter.PaintContext.CacheMode |
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」セクションを参照してください。
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.