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プラットフォームの実装によって異なる可能性があります。通常、swing.propertiesファイルはJavaインストール・ディレクトリのlibサブディレクトリにあります。詳細は、使用する実装のリリース・ノートを参照してください。
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以降、すべてのJavaBeans(tm)用の長期間の格納サポートが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, 2014, Oracle and/or its affiliates. All rights reserved.