public final class NimbusStyle extends SynthStyle
Nimbus によって使用される SynthStyle 実装。NimbusLookAndFeel に登録されている各 Region は、関連付けられた NimbusStyle を持ちます。そのため、NimbusLookAndFeel に登録されたサードパーティーコンポーネントには、#getStyle(JComponent, Region) メソッドにより Look & Feel から NimbusStyle が渡されます。
このクラスは、標準の Nimbus 命名規約に従って UIDefaults に配置されている値を適切に読み取り、取得します。また、そこに格納されるペインタ、フォント、色、およびその他のデータを作成および取得します。
NimbusStyle は、設定をコンポーネントごとにオーバーライドする機能もサポートします。NimbusStyle は、コンポーネントのクライアントプロパティーのマップに「Nimbus.Overrides」があるかどうかチェックします。このキーに関連付けられた値が UIDefaults のインスタンスの場合、そのデフォルトテーブルの値が UIManager にある標準の Nimbus のデフォルトをオーバーライドしますが、そのコンポーネントのインスタンスのみを対象とします。
オプションとして、クライアントプロパティー「Nimbus.Overrides.InheritDefaults」を指定できます。このクライアントプロパティーが true の場合、UIManager にあるデフォルトが最初に読み込まれ、次にコンポーネントのクライアントプロパティーにあるデフォルトに置き換えられるべきであることを示します。false の場合、コンポーネントのクライアントプロパティーマップにあるデフォルトのみが使用されます。指定されていない場合、true であるとみなされます。
「Nimbus.Overrides.InheritDefaults」の効果が生じるように「Nimbus.Overrides」を指定する必要があります。「Nimbus.Overrides」はオーバーライドがあるかどうかを示し、「Nimbus.Overrides.InheritDefaults」は、それらのオーバーライドが最初に UIManager のデフォルトで初期化されるべきかどうかを示します。
NimbusStyle は、「Nimbus.Overrides」または「Nimbus.Overrides.InheritDefaults」のコンポーネントのプロパティー変更イベントがトリガーされるたびに再ロードされます。このため、たとえば新しい UIDefaults をコンポーネントに設定すると、スタイルが再ロードされます。
値は UIManager から一度読み込まれるだけで、その後はキャッシュされます。値を再度読み取る必要がある場合 (たとえば UI が再ロードされる場合)、この NimbusStyle を破棄し、NimbusLookAndFeel.getStyle を使用して NimbusLookAndFeel から新しい値を読み取ります。
サードパーティーコンポーネントの作成者の場合、このクラスで主に対象となる API は、ペインタを取得する 3 つのメソッド (#getBackgroundPainter、#getForegroundPainter、#getBorderPainter) です。
NimbusStyle により、カスタム状態の指定や状態の順序の変更ができます。Synth には (したがって Nimbus にも)「状態」の概念があります。たとえば、JButton の状態は「MOUSE_OVER」、「ENABLED」、または「DISABLED」になる可能性があります。これらはすべて、Synth に定義され、すべての Synth Region に適用される「標準」状態です。
ただし、カスタム状態が必要な場合もあります。たとえば、JButton の親が JToolbar のときに、この JButton を異なるように描画する場合があります。Nimbus では、これらのカスタム状態を、UIDefaults に特別なキーを含めることで指定します。次の UIDefaults エントリでは、このボタンの 3 つの状態を定義します。
JButton.States = Enabled, Disabled, Toolbar
JButton[Enabled].backgroundPainter = somePainter
JButton[Disabled].background = BLUE
JButton[Toolbar].backgroundPainter = someOtherPaint
見てわかるように、JButton.States
エントリは JButton スタイルがサポートする状態をリストします。次に、各状態の設定を指定します。JButton.States
エントリを指定しない場合、標準の Synth 状態が使用されます。このエントリを指定しても、状態のリストが空または null の場合、標準の Synth 状態が使用されます。
修飾子と型 | フィールドと説明 |
---|---|
static String |
LARGE_KEY |
static double |
LARGE_SCALE |
static String |
MINI_KEY |
static double |
MINI_SCALE |
static String |
SMALL_KEY |
static double |
SMALL_SCALE |
修飾子と型 | メソッドと説明 |
---|---|
Object |
get(SynthContext ctx, Object key)
領域固有のスタイルプロパティーを取得します。
|
Painter |
getBackgroundPainter(SynthContext ctx)
指定された SynthContext に指定された状態の該当するバックグラウンド Painter があれば、それを取得します。
|
Painter |
getBorderPainter(SynthContext ctx)
指定された SynthContext に指定された状態の該当するボーダー Painter があれば、それを取得します。
|
protected Color |
getColorForState(SynthContext ctx, ColorType type)
指定された状態の色を返します。
|
protected Font |
getFontForState(SynthContext ctx)
指定された状態のフォントを返します。
|
Painter |
getForegroundPainter(SynthContext ctx)
指定された SynthContext に指定された状態の該当するフォアグラウンド Painter があれば、それを取得します。
|
Insets |
getInsets(SynthContext ctx, Insets in)
サイズ変更情報の計算に使用される Insets を返します。
|
SynthPainter |
getPainter(SynthContext ctx)
ペイントに使用される
SynthPainter を返します。 |
void |
installDefaults(SynthContext ctx)
この Style から必要な状態を
context の JComponent にインストールします。 |
boolean |
isOpaque(SynthContext ctx)
領域が不透明な場合に true を返します。
|
getBoolean, getColor, getFont, getGraphicsUtils, getIcon, getInt, getString, uninstallDefaults
public static final double LARGE_SCALE
public static final double SMALL_SCALE
public static final double MINI_SCALE
public void installDefaults(SynthContext ctx)
SynthStyle
context
の JComponent
にインストールします。installDefaults
、クラス: SynthStyle
ctx
- プロパティーがインストールされるコンポーネントを識別する SynthContext。public Insets getInsets(SynthContext ctx, Insets in)
SynthStyle
getInsets
、クラス: SynthStyle
ctx
- 要求元を識別する SynthContextin
- 戻り値を入れる Insets。protected Color getColorForState(SynthContext ctx, ColorType type)
SynthStyle
JComponent
に対するメソッドを一切呼び出すべきではありません。getColorForState
、クラス: SynthStyle
ctx
- 要求元を識別する SynthContexttype
- 要求される色のタイプ。protected Font getFontForState(SynthContext ctx)
SynthStyle
JComponent
に対するメソッドを一切呼び出すべきではありません。getFontForState
、クラス: SynthStyle
ctx
- 要求元を識別する SynthContextpublic SynthPainter getPainter(SynthContext ctx)
SynthStyle
SynthPainter
を返します。null を返すこともあります。getPainter
、クラス: SynthStyle
ctx
- 要求元を識別する SynthContextpublic boolean isOpaque(SynthContext ctx)
SynthStyle
isOpaque
、クラス: SynthStyle
ctx
- 要求元を識別する SynthContextpublic Object get(SynthContext ctx, Object key)
SynthStyle
get
、クラス: SynthStyle
ctx
- key
- null は不可public Painter getBackgroundPainter(SynthContext ctx)
ctx
- SynthContext。null は不可。public Painter getForegroundPainter(SynthContext ctx)
ctx
- SynthContext。null は不可。public Painter getBorderPainter(SynthContext ctx)
ctx
- SynthContext。null は不可。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.