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