public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
BasicLookAndFeelが提供する各ComponentUIは、その動作をデフォルト表から取得します。 特に明記されていないかぎり、このパッケージ内の各ComponentUI実装は、それらが使用するデフォルトのセットをドキュメント化しています。 特に明記されていないかぎり、デフォルトはinstallUIの呼出し時にインストールされます。デフォルトのインストールは、LookAndFeelに記載されている推奨事項に従って行います。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。
| コンストラクタ | 説明 |
|---|---|
BasicLookAndFeel() |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
protected Action |
createAudioAction(Object key) |
サウンドの再生に使用する
Actionを作成し、返します。 |
protected ActionMap |
getAudioActionMap() |
このLook & Feelのオーディオ・アクションを含む
ActionMapを返します。 |
UIDefaults |
getDefaults() |
Look & Feelのデフォルトを返します。
|
protected void |
initClassDefaults(UIDefaults table) |
uiClassIDとUIクラスの完全指定名のマッピングを格納したtableを生成します。 |
protected void |
initComponentDefaults(UIDefaults table) |
基本Look & Feelのデフォルトが格納された
tableを生成します。 |
void |
initialize() |
Look & Feelを初期化します。
|
protected void |
initSystemColorDefaults(UIDefaults table) |
tableにシステム・カラーを格納します。 |
protected void |
loadSystemColors(UIDefaults table, String[] systemColors, boolean useNative) |
tableに、systemColors内のname-colorのペアを格納します。 |
protected void |
playSound(Action audioAction) |
必要に応じて、
audioActionでactionPerformedを呼び出して、サウンドを再生します。 |
void |
uninitialize() |
Look & Feelの初期化を解除します。
|
getDescription, getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getID, getLayoutStyle, getName, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninstallBorderpublic UIDefaults getDefaults()
UIDefaultsは、initClassDefaults、initSystemColorDefaults、およびinitComponentDefaultsをこの順序で呼び出すことによって生成されます。
このメソッドはpublicメソッドですが、Look & Feelが現在のLook & Feelとして設定され、initializeが呼び出されたあとにのみ、UIManagerによって呼び出すようにしてください。
getDefaults、クラスLookAndFeelinitClassDefaults(javax.swing.UIDefaults), initSystemColorDefaults(javax.swing.UIDefaults), initComponentDefaults(javax.swing.UIDefaults)public void initialize()
UIManagerによって呼び出すようにしてください。 このメソッドは、UIManagerがgetDefaultsを呼び出す前に呼び出されます。 このメソッドは、Look & Feelの初期化を実行するためのメソッドです。 staticイニシャライザではなくサブクラスが、必要とする1回かぎりの設定を実行してください。Look & Feelクラス・オブジェクトは、isSupportedLookAndFeel()がfalseを返すことを検出するためのみにロードされる可能性があるためです。 public void uninitialize()
UIManagerによって呼び出すようにしてください。 たとえば、UIManager.setLookAndFeelがLook & Feelの変更時にこのメソッドを呼び出します。
サブクラスがここで一部のリソースを解放することを選択してもかまいません。
protected void initClassDefaults(UIDefaults table)
uiClassIDとUIクラスの完全指定名のマッピングを格納したtableを生成します。 特定のuiClassIDの値は"javax.swing.plaf.basic.Basic+uiClassID"です。 たとえば、uiClassID TreeUIの値は"javax.swing.plaf.basic.BasicTreeUI"です。 table - エントリが追加されるUIDefaultsインスタンスNullPointerException - tableがnullである場合LookAndFeel, getDefaults()protected void initSystemColorDefaults(UIDefaults table)
tableにシステム・カラーを格納します。 これにより、name-colorペアの配列が作成され、loadSystemColorsが呼び出されます。
名前は、SystemColorクラス内のいずれかのstatic SystemColorフィールドの名前に対応する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)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)protected void initComponentDefaults(UIDefaults table)
tableを生成します。table - 値を追加するUIDefaultsNullPointerException - tableがnullである場合protected ActionMap getAudioActionMap()
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を含むActionMapClassCastException - デフォルト"AuditoryCues.actionMap"の値がActionMapでないか、デフォルト"AuditoryCues.cueList"の値がObject[]でない場合createAudioAction(java.lang.Object), playSound(Action)protected Action createAudioAction(Object key)
Actionを作成し、返します。
keyがnullでない場合、デフォルトからの値とキーkeyを使用してActionが作成されます。 値は、Action上でactionPerformedが呼び出されたときにロードされるサウンド・リソースを識別します。 サウンド・リソースは、getClass().getResourceAsStream()によってbyte[]にロードされます。
key - オーディオ・アクションを識別するキーAction、またはkeyがnullの場合はnullplaySound(Action)protected void playSound(Action audioAction)
audioActionでactionPerformedを呼び出して、サウンドを再生します。 actionPerformedメソッドは、デフォルト"AuditoryCues.playList"の値がnullでないObject[] (audioActionの名前と等しいStringエントリを含む)の場合に呼び出されます。 audioAction -システムまたは発生中のユーザー・アクティビティに関連付けられたオーディオのレンダリング方法を知っているAction。値nullは無視されるClassCastException - audioActionがnon-nullで、デフォルト"AuditoryCues.playList"の値がObject[]でない場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。