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状態が使用されます。 
- 
フィールドのサマリーフィールド
- 
メソッドのサマリー修飾子と型メソッド説明get(SynthContext ctx, Object key) 領域固有のスタイル・プロパティを取得します。指定されたSynthContextに指定された状態の該当するバックグラウンドPainterがあれば、それを取得します。指定されたSynthContextに指定された状態の該当するボーダーPainterがあれば、それを取得します。protected ColorgetColorForState(SynthContext ctx, ColorType type) 指定された状態の色を返します。protected Font指定された状態のフォントを返します。指定されたSynthContextに指定された状態の該当するフォアグラウンドPainterがあれば、それを取得します。getInsets(SynthContext ctx, Insets in) サイズ変更情報の計算に使用されるInsetsを返します。getPainter(SynthContext ctx) ペイントに使用されるSynthPainterを返します。voidこのStyleから必要な状態をcontextのJComponentにインストールします。booleanisOpaque(SynthContext ctx) 領域が不透明な場合にtrueを返します。クラス javax.swing.plaf.synth.SynthStyleで宣言されたメソッドgetBoolean, getColor, getFont, getGraphicsUtils, getIcon, getInt, getString, uninstallDefaults
- 
フィールド詳細- 
LARGE_KEYpublic static final String LARGE_KEY大きなキー- 関連項目:
 
- 
SMALL_KEYpublic static final String SMALL_KEY小さなキー- 関連項目:
 
- 
MINI_KEYpublic static final String MINI_KEYミニ・キー- 関連項目:
 
- 
LARGE_SCALEpublic static final double LARGE_SCALE大規模- 関連項目:
 
- 
SMALL_SCALEpublic static final double SMALL_SCALE小規模- 関連項目:
 
- 
MINI_SCALEpublic static final double MINI_SCALEミニ・スケール- 関連項目:
 
 
- 
- 
メソッドの詳細- 
installDefaultspublic void installDefaults(SynthContext ctx) このStyleから必要な状態をcontextのJComponentにインストールします。 必要に応じて、このスタイル自体にUIDefaultsからのデータが移入されるようにオーバーライドされます。- オーバーライド:
- installDefaults、クラス:- SynthStyle
- パラメータ:
- ctx- プロパティがインストールされるコンポーネントを識別するSynthContext。
 
- 
getInsetspublic Insets getInsets(SynthContext ctx, Insets in) サイズ変更情報の計算に使用されるInsetsを返します。 必要に応じて、このスタイル自体にUIDefaultsからのデータが移入されるようにオーバーライドされます。- オーバーライド:
- getInsets、クラス:- SynthStyle
- パラメータ:
- ctx- 要求元を識別するSynthContext
- in- 戻り値を入れるInsets。
- 戻り値:
- サイズ変更のInsets。
 
- 
getColorForStateprotected Color getColorForState(SynthContext ctx, ColorType type) 指定された状態の色を返します。 これは、JComponentに対するメソッドを一切呼び出すべきではありません。必要に応じて、このスタイル自体にUIDefaultsからのデータが移入されるようにオーバーライドされます。 さらに、NimbusStyleによるColorTypesの処理はSynthと多少異なります。 - ColorType.BACKGROUNDは、「background」という名前のUIDefaultsに格納された色と一致します。
- ColorType.TEXT_BACKGROUNDは、「textBackground」という名前のUIDefaultsに格納された色と一致します。
- ColorType.FOREGROUNDは、「textForeground」という名前のUIDefaultsに格納された色と一致します。
- ColorType.TEXT_FOREGROUNDは、「textForeground」という名前のUIDefaultsに格納された色と一致します。
 - 定義:
- getColorForState、クラス:- SynthStyle
- パラメータ:
- ctx- 要求元を識別するSynthContext
- type- 要求される色のタイプ。
- 戻り値:
- 描画に使用されるColor
 
- 
getFontForStateprotected Font getFontForState(SynthContext ctx) 指定された状態のフォントを返します。 これは、JComponentに対するメソッドを一切呼び出すべきではありません。 必要に応じて、このスタイル自体にUIDefaultsからのデータが移入されるようにオーバーライドされます。 UIDefaultsに「font」という名前の値が見つからない場合は、代わりに、UIDefaultsの「defaultFont」フォントが返されます。- 定義:
- getFontForState、クラス:- SynthStyle
- パラメータ:
- ctx- 要求元を識別するSynthContext
- 戻り値:
- 描画に使用されるFont
 
- 
getPainterpublic SynthPainter getPainter(SynthContext ctx) ペイントに使用されるSynthPainterを返します。 nullを返すこともあります。 最終的に、このスタイルでインストールされたPaintersに委譲する、このスタイルのSynthPainterが返されます。- オーバーライド:
- getPainter、クラス:- SynthStyle
- パラメータ:
- ctx- 要求元を識別するSynthContext
- 戻り値:
- 使用されるSynthPainter
 
- 
isOpaquepublic boolean isOpaque(SynthContext ctx) 領域が不透明な場合にtrueを返します。 必要に応じて、このスタイル自体にUIDefaultsからのデータが移入されるようにオーバーライドされます。 UIのデフォルトに不透明度が指定されていない場合は、デフォルトで不透明でなくなります。- オーバーライド:
- isOpaque、クラス:- SynthStyle
- パラメータ:
- ctx- 要求元を識別するSynthContext
- 戻り値:
- 領域が不透明な場合はtrue。
 
- 
getpublic Object get(SynthContext ctx, Object key) 領域固有のスタイル・プロパティを取得します。必要に応じて、このスタイル自体にUIDefaultsからのデータが移入されるようにオーバーライドされます。 UIDefaultsのプロパティは、つなげて指定される場合があります。 次に例を示します。 background Button.opacity Button.Enabled.foreground Button.Enabled+Selected.background この例では、Enabled+Selectedの状態で、「foreground」が検索されたと仮定します。 この場合、最初にButton.Enabled+Selected.foregroundがチェックされますが、このような色は存在しません。 その後、次に有効な状態(この場合、Button.Enabled.foreground)に戻り、一致が見つかります。 したがって、これが返されます。 同様に、Enabledの状態で、「background」が検索された場合は、Button.EnabledまたはButtonでは見つかりませんが、UIManagerの最上位レベルで見つかります。 したがって、その値が返されます。 特別なノート: このメソッドに渡される「キー」の形式は、「background」または「Button.background」です。ここで、「Button」はNimbusStyleコンストラクタに渡される接頭辞と等しいです。 どちらの場合でも、「background」が検索されます。 - オーバーライド:
- get、クラス:- SynthStyle
- パラメータ:
- ctx- 要求元を識別するSynthContext
- key- nullは不可
- 戻り値:
- 指定されたプロパティの値
 
- 
getBackgroundPainterpublic Painter<Object> getBackgroundPainter(SynthContext ctx) 指定されたSynthContextに指定された状態の該当するバックグラウンドPainterがあれば、それを取得します。 このメソッドは、#getに記述されているとおりに、適切なフォール・バック検索を実行します。- パラメータ:
- ctx- SynthContext。 nullは不可。
- 戻り値:
- 指定された状態に関連するバックグラウンド・ペインタ。バックグラウンド・ペインタが見つからなかった場合はnull。
 
- 
getForegroundPainterpublic Painter<Object> getForegroundPainter(SynthContext ctx) 指定されたSynthContextに指定された状態の該当するフォアグラウンドPainterがあれば、それを取得します。 このメソッドは、#getに記述されているとおりに、適切なフォール・バック検索を実行します。- パラメータ:
- ctx- SynthContext。 nullは不可。
- 戻り値:
- 指定された状態に関連するフォアグラウンド・ペインタ。フォアグラウンド・ペインタが見つからなかった場合はnull。
 
- 
getBorderPainterpublic Painter<Object> getBorderPainter(SynthContext ctx) 指定されたSynthContextに指定された状態の該当するボーダーPainterがあれば、それを取得します。 このメソッドは、#getに記述されているとおりに、適切なフォール・バック検索を実行します。- パラメータ:
- ctx- SynthContext。 nullは不可。
- 戻り値:
- 指定された状態に関連するボーダー・ペインタ。ボーダー・ペインタが見つからなかった場合はnull。
 
 
-