- java.lang.Object
-
- javax.swing.LookAndFeel
-
- javax.swing.plaf.basic.BasicLookAndFeel
-
- すべての実装されたインタフェース:
Serializable
- 直系の既知のサブクラス:
MetalLookAndFeel,SynthLookAndFeel
public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
SwingのLook & Feelの作成に使用する基底クラスです。BasicLookAndFeelが提供する各ComponentUIは、その動作をデフォルト表から取得します。 特に明記されていないかぎり、このパッケージ内の各ComponentUI実装は、それらが使用するデフォルトのセットをドキュメント化しています。 特に明記されていないかぎり、デフォルトはinstallUIの呼出し時にインストールされます。デフォルトのインストールは、LookAndFeelに記載されている推奨事項に従って行います。警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートが
java.beansパッケージに追加されています。XMLEncoderを参照してください。- 関連項目:
- 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 BasicLookAndFeel()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 protected ActioncreateAudioAction(Object key)サウンドの再生に使用するActionを作成し、返します。protected ActionMapgetAudioActionMap()このLook & Feelのオーディオ・アクションを含むActionMapを返します。UIDefaultsgetDefaults()Look & Feelのデフォルトを返します。protected voidinitClassDefaults(UIDefaults table)uiClassIDとUIクラスの完全指定名のマッピングを格納したtableを生成します。protected voidinitComponentDefaults(UIDefaults table)基本Look & Feelのデフォルトが格納されたtableを生成します。voidinitialize()Look & Feelを初期化します。protected voidinitSystemColorDefaults(UIDefaults table)tableにシステム・カラーを格納します。protected voidloadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)tableに、systemColors内のname-colorのペアを格納します。protected voidplaySound(Action audioAction)必要に応じて、audioActionでactionPerformedを呼び出して、サウンドを再生します。voiduninitialize()Look & Feelの初期化を解除します。-
クラス javax.swing.LookAndFeelから継承されたメソッド
getDescription, getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getID, getLayoutStyle, getName, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninstallBorder
-
-
-
-
メソッドの詳細
-
getDefaults
public UIDefaults getDefaults()
Look & Feelのデフォルトを返します。 返されるUIDefaultsは、initClassDefaults、initSystemColorDefaults、およびinitComponentDefaultsをこの順序で呼び出すことによって生成されます。このメソッドはpublicメソッドですが、Look & Feelが現在のLook & Feelとして設定され、
initializeが呼び出されたあとにのみ、UIManagerによって呼び出すようにしてください。- オーバーライド:
getDefaults、クラス:LookAndFeel- 戻り値:
- Look & Feelのデフォルト
- 関連項目:
initClassDefaults(javax.swing.UIDefaults),initSystemColorDefaults(javax.swing.UIDefaults),initComponentDefaults(javax.swing.UIDefaults)
-
initialize
public void initialize()
Look & Feelを初期化します。 このメソッドはpublicメソッドですが、Look & Feelが現在のLook & Feelとしてインストールされたときにのみ、UIManagerによって呼び出すようにしてください。 このメソッドは、UIManagerがgetDefaultsを呼び出す前に呼び出されます。 このメソッドは、Look & Feelの初期化を実行するためのメソッドです。 staticイニシャライザではなくサブクラスが、必要とする1回かぎりの設定を実行してください。Look & Feelクラス・オブジェクトは、isSupportedLookAndFeel()がfalseを返すことを検出するためのみにロードされる可能性があるためです。- オーバーライド:
initialize、クラス:LookAndFeel- 関連項目:
LookAndFeel.uninitialize(),UIManager.setLookAndFeel(javax.swing.LookAndFeel)
-
uninitialize
public void uninitialize()
Look & Feelの初期化を解除します。 このメソッドはpublicメソッドですが、Look & FeelがアンインストールされるときにUIManagerによって呼び出すようにしてください。 たとえば、UIManager.setLookAndFeelがLook & Feelの変更時にこのメソッドを呼び出します。サブクラスがここで一部のリソースを解放することを選択してもかまいません。
- オーバーライド:
uninitialize、クラス:LookAndFeel- 関連項目:
LookAndFeel.initialize(),UIManager.setLookAndFeel(javax.swing.LookAndFeel)
-
initClassDefaults
protected void initClassDefaults(UIDefaults table)
uiClassIDとUIクラスの完全指定名のマッピングを格納したtableを生成します。 特定のuiClassIDの値は"javax.swing.plaf.basic.Basic+uiClassID"です。 たとえば、uiClassIDTreeUIの値は"javax.swing.plaf.basic.BasicTreeUI"です。- パラメータ:
table- エントリが追加されるUIDefaultsインスタンス- 例外:
NullPointerException-tableがnullである場合- 関連項目:
LookAndFeel,getDefaults()
-
initSystemColorDefaults
protected void initSystemColorDefaults(UIDefaults table)
tableにシステム・カラーを格納します。 これにより、name-colorペアの配列が作成され、loadSystemColorsが呼び出されます。名前は、
SystemColorクラスの静的なSystemColorフィールドの1つの名前に対応するStringです。 name-colorペアは、そのようなSystemColorフィールドすべてに作成されます。colorは、Color.decodeによって理解される16進Stringに対応します。 たとえば、name-colorペアのいずれかが"desktop"-"#005C5C"であるとします。 これはSystemColorフィールドdesktop(色値はnew Color(0x005C5C))に対応します。次は、2つの
name-colorペアを示しています。String[] nameColorPairs = new String[] { "desktop", "#005C5C", "activeCaption", "#000080" }; loadSystemColors(table, nameColorPairs, isNativeLookAndFeel());前述したように、これにより、指定されたtableとname-colorペア配列でloadSystemColorsが呼び出されます。loadSystemColorsの最後の引数は、SystemColor内のフィールドの値を使用するべきかどうかを示します。 このメソッドは、loadSystemColorsの最後の引数としてisNativeLookAndFeel()の値を渡します。- パラメータ:
table- 値が追加されるUIDefaultsオブジェクト- 例外:
NullPointerException-tableがnullである場合- 関連項目:
SystemColor、getDefaults()、loadSystemColors(javax.swing.UIDefaults, java.lang.String[], boolean)
-
loadSystemColors
protected void loadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)
tableに、systemColors内のname-colorのペアを格納します。systemColorsのフォーマットの詳細は、initSystemColorDefaults(UIDefaults)を参照してください。systemColorsの内のname-colorペアごとに、tableにエントリが追加されます。 エントリ・キーは、name-colorペアのnameです。エントリの値は、
name-colorペアのcolorに対応します。 エントリの値は、次のどちらかの方法で計算されます。 どちらの方法でも、値は常にColorUIResourceです。useNativeがfalseの場合、colorは、Color.decodeを使用してStringをColorに変換することで作成されます。decodeがStringをColorに変換できない(NumberFormatExceptionがスローされる)場合、黒のColorUIResourceが使用されます。useNativeがtrueの場合、colorは、name-colorペアのnameと同じ名前を持つ、SystemColor内のフィールドの値です。 フィールドが有効でない場合、黒のColorUIResourceが使用されます。- パラメータ:
table- 値が追加されるUIDefaultsオブジェクトsystemColors-name-colorペアの配列(initSystemColorDefaults(UIDefaults)で説明)useNative- 色をSystemColorとColor.decodeのどちらから取得するか- 例外:
NullPointerException-systemColorsがnullの場合、systemColorsが空でなくtableがnullの場合、name-colorペアのいずれかの名前がnullの場合、またはuseNativeがfalseでname-colorペアのいずれかのcolorsがnullの場合ArrayIndexOutOfBoundsException-useNativeがfalseで、systemColors.lengthが奇数の場合- 関連項目:
initSystemColorDefaults(javax.swing.UIDefaults)、SystemColor、Color.decode(String)
-
initComponentDefaults
protected void initComponentDefaults(UIDefaults table)
基本Look & Feelのデフォルトが格納されたtableを生成します。- パラメータ:
table- 値を追加するUIDefaults- 例外:
NullPointerException-tableがnullである場合
-
getAudioActionMap
protected ActionMap getAudioActionMap()
このLook & Feelのオーディオ・アクションを含むActionMapを返します。返される
ActionMapには、聴覚キューをレンダリングする機能を組み入れたActionsが含まれます。 これらの聴覚キューは、エンド・ユーザーが知っておくと便利なユーザーおよびシステム・アクティビティ(ダイアログ・ボックスの表示など)に関連付けられています。適切なときに、
ComponentUIはActionMapからActionを取得し、playSoundに渡します。このメソッドは、まずキー
"AuditoryCues.actionMap"を使用して、デフォルトからActionMapを検索します。値がnullでない場合は、それが返されます。
デフォルト"AuditoryCues.actionMap"の値がnullで、デフォルト"AuditoryCues.cueList"の値がnullでない場合、ActionMapUIResourceが作成され、値が埋め込まれます。値の埋込みは、"AuditoryCues.cueList"配列の各要素を反復し、createAudioAction()を呼び出して各要素のActionを作成することによって行われます。 結果のActionは、配列要素をキーとして利用することにより、ActionMapUIResourceに配置されます。 たとえば、"AuditoryCues.cueList"配列に単一要素"audioKey"が含まれる場合、ActionMapUIResourceが作成されてから、actionMap.put(cueList[0], createAudioAction(cueList[0]))によって値が埋め込まれます。デフォルト
"AuditoryCues.actionMap"の値がnullで、デフォルト"AuditoryCues.cueList"の値がnullの場合、空のActionMapUIResourceが作成されます。- 戻り値:
- 聴覚キューを再生する
Actionsを含むActionMap - 例外:
ClassCastException- デフォルト"AuditoryCues.actionMap"の値がActionMapでないか、デフォルト"AuditoryCues.cueList"の値がObject[]でない場合- 導入されたバージョン:
- 1.4
- 関連項目:
createAudioAction(java.lang.Object),playSound(Action)
-
createAudioAction
protected Action createAudioAction(Object key)
サウンドの再生に使用するActionを作成し、返します。keyがnullでない場合、デフォルトからの値とキーkeyを使用してActionが作成されます。値は、Action上でactionPerformedが呼び出されたときにロードされるサウンド・リソースを識別します。 サウンド・リソースは、getClass().getResourceAsStream()によってbyte[]にロードされます。- パラメータ:
key- オーディオ・アクションを識別するキー- 戻り値:
- ソースの再生に使用する
Action、またはkeyがnullの場合はnull - 導入されたバージョン:
- 1.4
- 関連項目:
playSound(Action)
-
playSound
protected void playSound(Action audioAction)
必要に応じて、audioActionでactionPerformedを呼び出して、サウンドを再生します。"AuditoryCues.playList"のデフォルト値が、audioActionの名前に等しいStringエントリを含むnon-nullObject[]である場合、actionPerformedメソッドが呼び出されます。- パラメータ:
audioAction-システムまたは発生中のユーザー・アクティビティに関連付けられたオーディオのレンダリング方法を知っているAction。値nullは無視される- 例外:
ClassCastException-audioActionがnon-nullで、デフォルト"AuditoryCues.playList"の値がObject[]でない場合- 導入されたバージョン:
- 1.4
-
-