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, uninstallBorder
public UIDefaults getDefaults()
UIDefaults
は、initClassDefaults
、initSystemColorDefaults
、および initComponentDefaults
をこの順序で呼び出すことによって生成されます。
このメソッドは public メソッドですが、Look & Feel が現在の Look & Feel として設定され、initialize
が呼び出されたあとにのみ、UIManager
によって呼び出すようにしてください。
getDefaults
、クラス: LookAndFeel
initClassDefaults(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
- 値を追加する UIDefaults
NullPointerException
- 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
の場合は null
playSound(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.