public class UIManager extends Object implements Serializable
UIManager は、現在の Look & Feel、使用可能な Look & Feel のセット、Look & Feel の変更時に通知を受ける PropertyChangeListeners、Look & Feel のデフォルト値、およびさまざまなデフォルト値を取得するために使用する簡易メソッドを管理します。
LookAndFeel のインスタンスを作成し、setLookAndFeel に渡す方法です。次に、システムの Look & Feel を Look & Feel として設定する例を示します。
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());次に、クラス名を指定して Look & Feel を設定する例を示します。
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
Look & Feel を変更したら必ず、すべての JComponents 上で updateUI を呼び出します。SwingUtilities.updateComponentTreeUI(java.awt.Component) メソッドを使用すると、包含関係の階層に updateUI を簡単に適用できます。詳細は、このメソッドを参照してください。Look & Feel の変更後、updateUI を呼び出さなかった場合の正確な動作は指定されていません。予期しない例外、ペイントの問題、またはそれ以上に困った事態が発生する可能性が高いです。
swing.defaultlaf が non-null の場合、このプロパティーの値をデフォルトの Look & Feel のクラス名として使用します。
Properties ファイルの swing.properties が存在し、キー swing.defaultlaf が格納されている場合、その値をデフォルトの Look & Feel のクラス名として使用します。swing.properties が確認される場所は、Java プラットフォームの実装によって異なる可能性があります。Sun の実装の場合、${java.home}/lib/swing.properties になります。詳細は、使用する実装のリリースノートを参照してください。
UIManager は、UIDefaults のセットを 3 組管理します。これらは順番に、次のとおりです。
setLookAndFeel() が呼び出されたとき)、この Look & Feel によって提供されます。Look & Feel のデフォルトは、getLookAndFeelDefaults() メソッドを使って取得できます。
get メソッドを呼び出しても、各デフォルトが順番にチェックされ、最初に見つかった non-null の値が返されます。たとえば、UIManager.getString("Table.foreground") を呼び出した場合、最初に開発者のデフォルトがチェックされます。開発者のデフォルトに "Table.foreground" の値が含まれていれば、その値が返されます。そうでない場合は、Look & Feel のデフォルト、続いてシステムのデフォルトがチェックされます。
getDefaults は、この解決ロジックが組み込まれた UIDefaults のカスタムインスタンスを返します。たとえば、UIManager.getDefaults().getString("Table.foreground") は UIManager.getString("Table.foreground") と同等です。どちらも、ここで説明したアルゴリズムに従って解決します。ドキュメント内では、多くの場合、上記の解決ロジックを備えた UIDefaults のカスタムインスタンスを「デフォルト」と呼びます。
Look & Feel が変更された場合、UIManager は Look & Feel のデフォルトだけを変更します。UIManager が開発者のデフォルトやシステムのデフォルトを変更することはありません。
特定の Look & Feel でサポートされるデフォルトのセットは、その Look & Feel に定義され、ドキュメント化されています。さらに、個々の Look & Feel (または任意の Look & Feel が提供する ComponentUI) が、それぞれのライフサイクル内の異なった時期にデフォルトにアクセスする場合があります。積極的にデフォルトを検索する Look & Feel もあれば (この場合、Look & Feel のインストール後にデフォルトに変更を加えても効果はない)、めったにデフォルトにアクセスしない Look & Feel もあります (この場合、デフォルトの変更が既存の Look & Feel に影響を及ぼす)。結局、その他の Look & Feel は、デフォルトテーブルから自身の設定を行わない可能性があります。それにもかかわらず、通常、Look & Feel はなんらかのデフォルトを求めます。このため、一般に、ある Look & Feel が提供する ComponentUI) は、別の Look & Feel では動作しません。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースとの互換性がなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが java.beans パッケージに追加されています。XMLEncoder を参照してください。
| 修飾子と型 | クラスと説明 |
|---|---|
static class |
UIManager.LookAndFeelInfo
メニューの設定またはアプリケーションの初期設定のための、インストール済み
LookAndFeel に関する概要を説明します。 |
| コンストラクタと説明 |
|---|
UIManager() |
| 修飾子と型 | メソッドと説明 |
|---|---|
static void |
addAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel を補助的な Look & Feel のリストに追加します。 |
static void |
addPropertyChangeListener(PropertyChangeListener listener)
リスナーリストに
PropertyChangeListener を追加します。 |
static Object |
get(Object key)
デフォルトからオブジェクトを返します。
|
static Object |
get(Object key, Locale l)
デフォルトから、指定されたロケールに適したオブジェクトを返します。
|
static LookAndFeel[] |
getAuxiliaryLookAndFeels()
補助的な Look & Feel のリストを返します。ただし、
null の場合もあります。 |
static boolean |
getBoolean(Object key)
デフォルトから、キーの値に関連付けられた boolean 値を返します。
|
static boolean |
getBoolean(Object key, Locale l)
デフォルトから、キーの値および指定された
Locale に関連付けられた boolean 値を返します。 |
static Border |
getBorder(Object key)
デフォルトからボーダーを返します。
|
static Border |
getBorder(Object key, Locale l)
デフォルトから、指定されたロケールに適したボーダーを返します。
|
static Color |
getColor(Object key)
デフォルトから色を返します。
|
static Color |
getColor(Object key, Locale l)
デフォルトから、指定されたロケールに適した色を返します。
|
static String |
getCrossPlatformLookAndFeelClassName()
デフォルトクロスプラットフォームの Look & Feel、つまり Java Look & Feel (JLF) を実装する
LookAndFeel クラスの名前を返します。 |
static UIDefaults |
getDefaults()
デフォルトを返します。
|
static Dimension |
getDimension(Object key)
デフォルトから寸法を返します。
|
static Dimension |
getDimension(Object key, Locale l)
デフォルトから、指定されたロケールに適した寸法を返します。
|
static Font |
getFont(Object key)
デフォルトからフォントを返します。
|
static Font |
getFont(Object key, Locale l)
デフォルトから、指定されたロケールに適したフォントを返します。
|
static Icon |
getIcon(Object key)
デフォルトから
Icon を返します。 |
static Icon |
getIcon(Object key, Locale l)
デフォルトから、指定されたロケールに適した
Icon を返します。 |
static Insets |
getInsets(Object key)
デフォルトから
Insets オブジェクトを返します。 |
static Insets |
getInsets(Object key, Locale l)
デフォルトから、指定されたロケールに適した
Insets オブジェクトを返します。 |
static UIManager.LookAndFeelInfo[] |
getInstalledLookAndFeels()
現在使用可能な
LookAndFeel の実装を表す LookAndFeelInfo の配列を返します。 |
static int |
getInt(Object key)
デフォルトから int 値を返します。
|
static int |
getInt(Object key, Locale l)
デフォルトから、指定されたロケールに適した int 値を返します。
|
static LookAndFeel |
getLookAndFeel()
現在の Look & Feel、または
null を返します。 |
static UIDefaults |
getLookAndFeelDefaults()
現在の Look & Feel がインストールされたとき取得された、この Look & Feel の
UIDefaults を返します。 |
static PropertyChangeListener[] |
getPropertyChangeListeners()
addPropertyChangeListener() を使用してこの UIManager に追加されているすべての
PropertyChangeListener の配列を返します。 |
static String |
getString(Object key)
デフォルトから文字列を返します。
|
static String |
getString(Object key, Locale l)
デフォルトから、指定されたロケールに適した文字列を返します。
|
static String |
getSystemLookAndFeelClassName()
ネイティブシステムの Look & Feel を実装する
LookAndFeel クラスの名前があればそれを返し、そうでない場合はデフォルトのクロスプラットフォームの LookAndFeel クラスの名前を返します。 |
static ComponentUI |
getUI(JComponent target)
target に適した ComponentUI 実装を返します。 |
static void |
installLookAndFeel(String name, String className)
使用可能な Look & Feel のセットに、指定された Look & Feel を追加します。
|
static void |
installLookAndFeel(UIManager.LookAndFeelInfo info)
使用可能な Look & Feel のセットに、指定された Look & Feel を追加します。
|
static Object |
put(Object key, Object value)
開発者のデフォルトにオブジェクトを格納します。
|
static boolean |
removeAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel を補助的な Look & Feel のリストから削除します。 |
static void |
removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener をリスナーリストから削除します。 |
static void |
setInstalledLookAndFeels(UIManager.LookAndFeelInfo[] infos)
使用可能な Look & Feel のセットを設定します。
|
static void |
setLookAndFeel(LookAndFeel newLookAndFeel)
newLookAndFeel を現在の Look & Feel として設定します。 |
static void |
setLookAndFeel(String className)
現在のスレッドのコンテキストクラスローダーを使って指定のクラス名で示される
LookAndFeel をロードし、setLookAndFeel(LookAndFeel) に渡します。 |
public static UIManager.LookAndFeelInfo[] getInstalledLookAndFeels()
LookAndFeel の実装を表す LookAndFeelInfo の配列を返します。アプリケーションは LookAndFeelInfo オブジェクトを使用して、ユーザー用 Look & Feel オプションのメニューを構築したり、起動時に設定する Look & Feel を決定したりできます。大量の LookAndFeel オブジェクトの生成による負荷を避けるため、LookAndFeelInfo は、実際の LookAndFeel インスタンスではなく、LookAndFeel クラスのクラス名を管理します。
次に、LookAndFeelInfo のインスタンスから現在の Look & Feel を設定する例を示します。
UIManager.setLookAndFeel(info.getClassName());
LookAndFeelInfo オブジェクトの配列setLookAndFeel(javax.swing.LookAndFeel)public static void setInstalledLookAndFeels(UIManager.LookAndFeelInfo[] infos) throws SecurityException
LookAndFeelInfos が non-null であるかどうかをチェックするわけではありませんが、infos配列には non-null の値だけを指定することを強くお勧めします。infos - 使用可能な Look & Feel を指定する LookAndFeelInfo オブジェクトのセットNullPointerException - infos が null である場合SecurityExceptiongetInstalledLookAndFeels()public static void installLookAndFeel(UIManager.LookAndFeelInfo info)
null info を許容しますが、non-null の値を使用することを強くお勧めします。info - Look & Feel を指定し、その Look & Feel を実装するクラスを識別する LookAndFeelInfo オブジェクトsetInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])public static void installLookAndFeel(String name, String className)
non-null の値を使用することを強くお勧めします。name - Look & Feel の説明的な名前className - この Look & Feel を実装するクラスの名前setInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])public static LookAndFeel getLookAndFeel()
null を返します。nullsetLookAndFeel(javax.swing.LookAndFeel)public static void setLookAndFeel(LookAndFeel newLookAndFeel) throws UnsupportedLookAndFeelException
newLookAndFeel を現在の Look & Feel として設定します。現在の Look & Feel が non-null である場合、その上で uninitialize が呼び出されます。newLookAndFeel が non-null である場合、その上で initialize が呼び出され、続いて getDefaults が呼び出されます。それまでの Look & Feel のデフォルトは、newLookAndFeel.getDefaults() が返すデフォルトに置き換えられます。newLookAndFeel が null の場合、Look & Feel のデフォルトは null に設定されます。
値 null は、Look & Feel を null に設定する場合に使用できます。ほとんどの場合、Swing を機能させるためには LookAndFeel が必要です。したがって、LookAndFeel を null に設定することはまったくお勧めしません。
これは JavaBeans バウンドプロパティーです。
newLookAndFeel - インストールする LookAndFeelUnsupportedLookAndFeelException - newLookAndFeel が non-null で、newLookAndFeel.isSupportedLookAndFeel() が false を返す場合getLookAndFeel()public static void setLookAndFeel(String className) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException
LookAndFeel をロードし、setLookAndFeel(LookAndFeel) に渡します。className - Look & Feel を実装するクラスの名前を指定する文字列ClassNotFoundException - LookAndFeel クラスが見つからなかった場合InstantiationException - クラスの新しいインスタンスを生成できなかった場合IllegalAccessException - クラスまたは初期化子にアクセスできない場合UnsupportedLookAndFeelException - lnf.isSupportedLookAndFeel() が false の場合ClassCastException - LookAndFeel を拡張するクラスを、className で識別できない場合public static String getSystemLookAndFeelClassName()
LookAndFeel クラスの名前があればそれを返し、そうでない場合はデフォルトのクロスプラットフォームの LookAndFeel クラスの名前を返します。この値は、swing.systemlaf システムプロパティーを設定することによりオーバーライドできます。LookAndFeel クラスの StringsetLookAndFeel(javax.swing.LookAndFeel), getCrossPlatformLookAndFeelClassName()public static String getCrossPlatformLookAndFeelClassName()
LookAndFeel クラスの名前を返します。この値は、swing.crossplatformlaf システムプロパティーを設定することによりオーバーライドできます。setLookAndFeel(javax.swing.LookAndFeel), getSystemLookAndFeelClassName()public static UIDefaults getDefaults()
UIDefaults オブジェクトpublic static Font getFont(Object key)
key の値が Font でない場合、null が返されます。key - フォントを指定する ObjectFont オブジェクトNullPointerException - key が null である場合public static Font getFont(Object key, Locale l)
key の値が Font でない場合、null が返されます。key - フォントを指定する Objectl - そのフォントが適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照Font オブジェクトNullPointerException - key が null である場合public static Color getColor(Object key)
key の値が Color でない場合、null が返されます。key - 色を指定する ObjectColor オブジェクトNullPointerException - key が null である場合public static Color getColor(Object key, Locale l)
key の値が Color でない場合、null が返されます。key - 色を指定する Objectl - その色が適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照Color オブジェクトNullPointerException - key が null である場合public static Icon getIcon(Object key)
Icon を返します。key の値が Icon でない場合、null が返されます。key - アイコンを指定する ObjectIcon オブジェクトNullPointerException - key が null である場合public static Icon getIcon(Object key, Locale l)
Icon を返します。key の値が Icon でない場合、null が返されます。key - アイコンを指定する Objectl - そのアイコンが適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照Icon オブジェクトNullPointerException - key が null である場合public static Border getBorder(Object key)
key の値が Border でない場合、null が返されます。key - ボーダーを指定する ObjectBorder オブジェクトNullPointerException - key が null である場合public static Border getBorder(Object key, Locale l)
key の値が Border でない場合、null が返されます。key - ボーダーを指定する Objectl - そのボーダーが適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照Border オブジェクトNullPointerException - key が null である場合public static String getString(Object key)
key の値が String でない場合、null が返されます。key - 文字列を指定する ObjectStringNullPointerException - key が null である場合public static String getString(Object key, Locale l)
key の値が String でない場合、null が返されます。key - 文字列を指定する Objectl - その文字列が適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照StringNullPointerException - key が null である場合public static int getInt(Object key)
key の値が Integer でない場合や存在しない場合は、0 が返されます。key - int 値を指定する ObjectNullPointerException - key が null である場合public static int getInt(Object key, Locale l)
key の値が Integer でない場合や存在しない場合は、0 が返されます。key - int 値を指定する Objectl - その int 値が適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照NullPointerException - key が null である場合public static boolean getBoolean(Object key)
false が返されます。key - 目的の boolean 値のキーを指定する ObjectNullPointerException - key が null である場合public static boolean getBoolean(Object key, Locale l)
Locale に関連付けられた boolean 値を返します。キーが見つからない場合、またはキーが boolean 値で表されていない場合、false が返されます。key - 目的の boolean 値のキーを指定する Objectl - その boolean 値が適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照NullPointerException - key が null である場合public static Insets getInsets(Object key)
Insets オブジェクトを返します。key の値が Insets でない場合、null が返されます。key - Insets オブジェクトを指定する ObjectInsets オブジェクトNullPointerException - key が null である場合public static Insets getInsets(Object key, Locale l)
Insets オブジェクトを返します。key の値が Insets でない場合、null が返されます。key - Insets オブジェクトを指定する Objectl - そのオブジェクトが適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照Insets オブジェクトNullPointerException - key が null である場合public static Dimension getDimension(Object key)
key の値が Dimension でない場合、null が返されます。key - 寸法オブジェクトを指定する ObjectDimension オブジェクトNullPointerException - key が null である場合public static Dimension getDimension(Object key, Locale l)
key の値が Dimension でない場合、null が返されます。key - 寸法オブジェクトを指定する Objectl - そのオブジェクトが適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照Dimension オブジェクトNullPointerException - key が null である場合public static Object get(Object key)
key - 目的のオブジェクトを指定する ObjectObjectNullPointerException - key が null である場合public static Object get(Object key, Locale l)
key - 目的のオブジェクトを指定する Objectl - そのオブジェクトが適している Locale。Locale が null の場合の処理方法については、UIDefaults を参照ObjectNullPointerException - key が null である場合public static Object put(Object key, Object value)
getDefaults().put(key, value) のカバーメソッドです。このメソッドは、開発者のデフォルトだけに影響を及ぼします。システムのデフォルトや Look & Feel のデフォルトに影響はありません。key - 検索キーを指定する Objectvalue - 格納する Object。null の場合の処理方法については UIDefaults を参照UIDefaults.put(java.lang.Object, java.lang.Object) によって返された ObjectNullPointerException - key が null である場合UIDefaults.put(java.lang.Object, java.lang.Object)public static ComponentUI getUI(JComponent target)
target に適した ComponentUI 実装を返します。通常これは、getDefaults().getUI(target) のカバーメソッドです。しかし、補助的な Look & Feel がインストールされている場合、このメソッドは、まず多重化した Look & Feel のデフォルト上で getUI(target) を呼び出し、non-null の値だった場合はその値を返します。target - ComponentUI を返される JComponenttarget の ComponentUI オブジェクトNullPointerException - target が null である場合UIDefaults.getUI(javax.swing.JComponent)public static UIDefaults getLookAndFeelDefaults()
UIDefaults を返します。
通常、開発者は、getDefaults() から返される UIDefaults を使用するべきです。現在の Look & Feel は、特定の値の存在を求める可能性があります。このため、このメソッドから返される UIDefaults を変更すると、予期しない結果になる可能性があります。
UIDefaultsgetDefaults(), setLookAndFeel(LookAndFeel), LookAndFeel.getDefaults()public static void addAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel を補助的な Look & Feel のリストに追加します。補助的な Look & Feel は、多重化 UI の作成時にデフォルトの LookAndFeel クラスに加えて使用するコンポーネントインスタンスの LookAndFeel クラスを、多重化した Look & Feel に通知します。変更が有効になるのは、新しい UI クラスが作成されるときと、デフォルトの Look & Feel がコンポーネントインスタンスで変更されるときだけです。
これらはインストール済みの Look & Feel とは異なります。
laf - LookAndFeel オブジェクトremoveAuxiliaryLookAndFeel(javax.swing.LookAndFeel), setLookAndFeel(javax.swing.LookAndFeel), getAuxiliaryLookAndFeels(), getInstalledLookAndFeels()public static boolean removeAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel を補助的な Look & Feel のリストから削除します。補助的な Look & Feel は、多重化 UI の作成時にデフォルトの LookAndFeel クラスに加えて使用するコンポーネントインスタンスの LookAndFeel クラスを、多重化した Look & Feel に通知します。変更が有効になるのは、新しい UI クラスが作成されるときと、デフォルトの Look & Feel がコンポーネントインスタンスで変更されるときだけです。
これらはインストール済みの Look & Feel とは異なります。
LookAndFeel がリストから削除された場合は trueremoveAuxiliaryLookAndFeel(javax.swing.LookAndFeel), getAuxiliaryLookAndFeels(), setLookAndFeel(javax.swing.LookAndFeel), getInstalledLookAndFeels()public static LookAndFeel[] getAuxiliaryLookAndFeels()
null の場合もあります。補助的な Look & Feel は、多重化 UI の作成時にデフォルトの LookAndFeel クラスに加えて使用するコンポーネントインスタンスの LookAndFeel クラスを、多重化した Look & Feel に通知します。
これらはインストール済みの Look & Feel とは異なります。
LookAndFeel のリストまたは nulladdAuxiliaryLookAndFeel(javax.swing.LookAndFeel), removeAuxiliaryLookAndFeel(javax.swing.LookAndFeel), setLookAndFeel(javax.swing.LookAndFeel), getInstalledLookAndFeels()public static void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener を追加します。リスナーは、すべてのプロパティーに対して登録されます。listener - 追加される PropertyChangeListenerPropertyChangeSupportpublic static void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener をリスナーリストから削除します。すべてのプロパティーに登録された PropertyChangeListener を削除します。listener - 削除する PropertyChangeListenerPropertyChangeSupportpublic static PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener の配列を返します。PropertyChangeListener。リスナーが追加されていない場合は空の配列 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.