|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.LookAndFeel javax.swing.plaf.basic.BasicLookAndFeel
public abstract class BasicLookAndFeel
Swing の Look & Feel の作成に使用する基底クラスです。
BasicLookAndFeel
が提供する各 ComponentUI
は、その動作をデフォルトテーブルから取得します。特に明記されていないかぎり、このパッケージの各 ComponentUI
実装には、使用するデフォルトのセットがドキュメント化されています。特に明記されていないかぎり、デフォルトは installUI
の呼び出し時にインストールされます。デフォルトのインストールは、LookAndFeel
に記載されている推奨事項に従って行います。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK Version 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)
systemColors 内に 名前と色 のペアが入っている table を生成します。 |
protected void |
playSound(Action audioAction)
必要に応じて、 audioAction 上で actionPerformed を呼び出して、サウンドを再生します。 |
void |
uninitialize()
Look & Feel の初期化を解除します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public BasicLookAndFeel()
メソッドの詳細 |
---|
public UIDefaults getDefaults()
UIDefaults
は、initClassDefaults
、initSystemColorDefaults
、および initComponentDefaults
をこの順番に呼び出すことによって生成されます。
このメソッドは public メソッドですが、常に、任意の Look & Feel が現在の Look & Feel として設定され、initialize
が呼び出されたあと、UIManager
によって呼び出されるようにしてください。
LookAndFeel
内の getDefaults
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
を返すことを確認するためにだけロードされる場合があるからです。
LookAndFeel
内の initialize
LookAndFeel.uninitialize()
,
UIManager.setLookAndFeel(javax.swing.LookAndFeel)
public void uninitialize()
UIManager
によって呼び出されるようにしてください。たとえば、UIManager.setLookAndFeel
は、Look & Feel の変更時にこのメソッドを呼び出します。
サブクラスは、このメソッドでいくつかのリソースを解放できます。
LookAndFeel
内の uninitialize
LookAndFeel.initialize()
,
UIManager.setLookAndFeel(javax.swing.LookAndFeel)
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
を生成します。これにより、名前と色
のペアから成る配列が作成され、loadSystemColors
が呼び出されます。
名前は、SystemColor
クラス内の任意の static SystemColor
フィールドの名前に対応する String
です。名前と色のペアは、このような SystemColor
フィールドごとに作成されます。
color
は、Color.decode
の認識どおり、16 進 String
に対応しています。たとえば、「desktop」と「#005C5C」
の 名前と色
のペアがあるとします。これは、SystemColor
フィールドの desktop
(色の値は new Color(0x005C5C)
) に対応しています。
次に、名前と色
のペアを 2 つ示します。
String[] nameColorPairs = new String[] { "desktop", "#005C5C", "activeCaption", "#000080" }; loadSystemColors(table, nameColorPairs, isNativeLookAndFeel());以前に述べたように、このコードは、指定された
table
および 名前と色
のペアから成る配列により、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)
systemColors
内に 名前と色
のペアが入っている table
を生成します。systemColors
の形式の詳細は、initSystemColorDefaults(UIDefaults)
を参照してください。
systemColors
内の 名前と色
のペアごとに、table
にエントリが追加されます。エントリキーは、名前と色
のペアの 名前
部分になります。
エントリの値は、名前と色
のペアの 色
部分に対応します。エントリの値は、次のどちらかの方法で計算されます。どちらの方法でも、値は常に ColorUIResource
です。
useNative
が false
の場合、色
は、Color.decode
で String
を Color
に変換することによって作成されます。decode
で String
から Color
への変換が実行できない (NumberFormatException
がスローされる) 場合、黒の ColorUIResource
が使用されます。
useNative
が true
の場合、color
は、名前と色
のペアの 名前
部分に指定された名前を持つ、SystemColor
内のフィールドの値になります。フィールドが有効でない場合、黒の ColorUIResource
が使用されます。
table
- 値が追加される UIDefaults
オブジェクトsystemColors
- 名前と色
のペアから成る配列 (initSystemColorDefaults(UIDefaults)
に記述されているとおり)useNative
- 色を SystemColor
と Color.decode
のどちらから取得するか
NullPointerException
- systemColors
が null
の場合、systemColors
が空でなく table
が null
の場合、名前と色
のペアに null
の名前が含まれる場合、または useNative
が false
で、名前と色
のペアに 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
が作成されます。
Action
を含む ActionMap
ClassCastException
- デフォルトの 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
のデフォルト値が audioAction
の名前と同等の String
エントリを含む null 以外
の Object[]
である場合に呼び出されます。
audioAction
- システム、または発生中のユーザーアクティビティーに関連するオーディオの描画方法を知っている Action。null
値は無視される
ClassCastException
- audioAction
が null 以外
で、デフォルトの AuditoryCues.playList
の値が Object[]
でない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。