public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
BasicLookAndFeel が提供する各 ComponentUI は、その動作をデフォルトテーブルから取得します。特に明記されていないかぎり、このパッケージ内の各 ComponentUI 実装は、それらが使用するデフォルトのセットをドキュメント化しています。特に明記されていないかぎり、デフォルトは installUI の呼び出し時にインストールされます。デフォルトのインストールは、LookAndFeel に記載されている推奨事項に従って行います。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースとの互換性がなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが 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 が null 以外で、デフォルト "AuditoryCues.playList" の値が Object[] でない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.