public class UIManager extends Object implements Serializable
UIManagerは、現在のルック・アンド・フィール、使用可能なルック・アンド・フィールのセット、ルック・アンド・フィールの変更時に通知を受けるPropertyChangeListeners、ルック・アンド・フィールのデフォルト値、およびさまざまなデフォルト値を取得するために使用する簡易メソッドを管理します。
 LookAndFeelのインスタンスを作成し、setLookAndFeelに渡す方法です。 次に、システムのルック・アンド・フィールにルック・アンド・フィールを設定する例を示します。 
 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());次に、クラス名を指定してルック・アンド・フィールを設定する例を示します。
   UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
 
 ルック・アンド・フィールを変更したら必ず、すべてのJComponents上でupdateUIを呼び出します。 SwingUtilities.updateComponentTreeUI(java.awt.Component)メソッドを使用すると、包含関係の階層にupdateUIを簡単に適用できます。 詳細は、そちらを参照してください。 ルック・アンド・フィールの変更後、updateUIを呼び出さなかった場合の正確な動作は指定されていません。 予期しない例外、ペイントの問題、またはそれ以上に困った事態が発生する可能性が高いです。 
 swing.defaultlafがnon-nullの場合、このプロパティの値をデフォルトのルック・アンド・フィールのクラス名として使用します。
   Propertiesファイルのswing.propertiesが存在し、キーswing.defaultlafが格納されている場合、その値をデフォルトのルック・アンド・フィールのクラス名として使用します。 swing.propertiesが確認される場所は、Javaプラットフォームの実装によって異なる可能性があります。 通常、swing.propertiesファイルはJavaインストール・ディレクトリのlibサブディレクトリにあります。 詳細は、使用する実装のリリース・ノートを参照してください。 
   UIManagerは、UIDefaultsのセットを3組管理します。 これらは順番に、次のとおりです。 
 setLookAndFeel()が呼び出されたとき)、このルック・アンド・フィールによって提供されます。 ルック・アンド・フィールのデフォルトは、getLookAndFeelDefaults()メソッドを使って取得できます。 
   getメソッドを呼び出しても、各デフォルトが順番にチェックされ、最初に見つかったnon-nullの値が返されます。 たとえば、UIManager.getString("Table.foreground")を呼び出した場合、最初に開発者のデフォルトがチェックされます。 開発者のデフォルトに"Table.foreground"の値が含まれていれば、その値が返されます。そうでない場合は、ルック・アンド・フィールのデフォルト、続いてシステムのデフォルトがチェックされます。 
 
 getDefaultsは、この解決ロジックが組み込まれたUIDefaultsのカスタム・インスタンスを返します。 たとえば、UIManager.getDefaults().getString("Table.foreground")はUIManager.getString("Table.foreground")と同等です。 どちらも、ここで説明したアルゴリズムに従って解決します。 ドキュメント内では、多くの場合、上記の解決ロジックを備えたUIDefaultsのカスタム・インスタンスを「デフォルト」と呼びます。 
 
 ルック・アンド・フィールが変更された場合、UIManagerはルック・アンド・フィールのデフォルトだけを変更します。UIManagerが開発者のデフォルトやシステムのデフォルトを変更することはありません。
 
 特定のルック・アンド・フィールでサポートされるデフォルトのセットは、そのルック・アンド・フィールに定義され、ドキュメント化されています。 さらに、個々のルック・アンド・フィール (または任意のルック・アンド・フィールが提供するComponentUI)が、それぞれのライフ・サイクル内の異なった時期にデフォルトにアクセスする場合があります。 積極的にデフォルトを検索するルック・アンド・フィールもあれば(この場合、ルック・アンド・フィールのインストール後にデフォルトに変更を加えても効果はない)、めったにデフォルトにアクセスしないルック・アンド・フィールもあります。 (この場合、デフォルトの変更が既存のルック・アンド・フィールに影響を及ぼす) 結局、その他のルック・アンド・フィールは、デフォルト・テーブルから自身の設定を行わない可能性があります。 それにもかかわらず、通常、ルック・アンド・フィールはなんらかのデフォルトを求めます。このため、一般に、あるルック・アンド・フィールが提供するComponentUIは、別のルック・アンド・フィールでは動作しません。 
 
 警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。 
| 修飾子と型 | クラス | 説明 | 
|---|---|---|
| static class  | UIManager.LookAndFeelInfo | メニューの設定またはアプリケーションの初期設定のための、インストール済み LookAndFeelに関する概要を説明します。 | 
| コンストラクタ | 説明 | 
|---|---|
| UIManager() | 
| 修飾子と型 | メソッド | 説明 | 
|---|---|---|
| static void | addAuxiliaryLookAndFeel(LookAndFeel laf) | LookAndFeelを補助的なルック・アンド・フィールのリストに追加します。 | 
| static void | addPropertyChangeListener(PropertyChangeListener listener) | リスナー・リストに PropertyChangeListenerを追加します。 | 
| static Object | get(Object key) | デフォルトからオブジェクトを返します。 | 
| static Object | get(Object key, Locale l) | デフォルトから、指定されたロケールに適したオブジェクトを返します。 | 
| static LookAndFeel[] | getAuxiliaryLookAndFeels() | 補助的なルック・アンド・フィールのリストを返します。ただし、 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() | デフォルト・クロス・プラットフォームのルック・アンド・フィール、つまりJava ルック・アンド・フィール (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() | 現在のルック・アンド・フィール、または nullを返します。 | 
| static UIDefaults | getLookAndFeelDefaults() | 現在のルック・アンド・フィールがインストールされたとき取得された、このルック・アンド・フィールの UIDefaultsを返します。 | 
| static PropertyChangeListener[] | getPropertyChangeListeners() | addPropertyChangeListener()を使用してこのUIManagerに追加されているすべての PropertyChangeListenerの配列を返します。 | 
| static String | getString(Object key) | デフォルトから文字列を返します。 | 
| static String | getString(Object key, Locale l) | デフォルトから、指定されたロケールに適した文字列を返します。 | 
| static String | getSystemLookAndFeelClassName() | ネイティブ・システムのルック・アンド・フィールを実装する LookAndFeelクラスの名前があればそれを返し、そうでない場合はデフォルトのクロス・プラットフォームのLookAndFeelクラスの名前を返します。 | 
| static ComponentUI | getUI(JComponent target) | targetに適したComponentUI実装を返します。 | 
| static void | installLookAndFeel(String name, String className) | 使用可能なルック・アンド・フィールのセットに、指定されたルック・アンド・フィールを追加します。 | 
| static void | installLookAndFeel(UIManager.LookAndFeelInfo info) | 使用可能なルック・アンド・フィールのセットに、指定されたルック・アンド・フィールを追加します。 | 
| static Object | put(Object key, Object value) | 開発者のデフォルトにオブジェクトを格納します。 | 
| static boolean | removeAuxiliaryLookAndFeel(LookAndFeel laf) | LookAndFeelを補助的なルック・アンド・フィールのリストから削除します。 | 
| static void | removePropertyChangeListener(PropertyChangeListener listener) | PropertyChangeListenerをリスナー・リストから削除します。 | 
| static void | setInstalledLookAndFeels(UIManager.LookAndFeelInfo[] infos) | 使用可能なルック・アンド・フィールのセットを設定します。 | 
| static void | setLookAndFeel(LookAndFeel newLookAndFeel) | newLookAndFeelを現在のルック・アンド・フィールとして設定します。 | 
| static void | setLookAndFeel(String className) | 現在のスレッドのコンテキスト・クラス・ローダーを使って指定のクラス名で示される LookAndFeelをロードし、setLookAndFeel(LookAndFeel)に渡します。 | 
public static UIManager.LookAndFeelInfo[] getInstalledLookAndFeels()
LookAndFeelの実装を表すLookAndFeelInfoの配列を返します。 アプリケーションはLookAndFeelInfoオブジェクトを使用して、ユーザー用ルック・アンド・フィールオプションのメニューを構築したり、起動時に設定するルック・アンド・フィールを決定したりできます。 大量のLookAndFeelオブジェクトの生成による負荷を避けるため、LookAndFeelInfoは、実際のLookAndFeelインスタンスではなく、LookAndFeelクラスのクラス名を管理します。 
 
 次に、LookAndFeelInfoのインスタンスから現在のルック・アンド・フィールを設定する例を示します。
 
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 - 使用可能なルック・アンド・フィールを指定するLookAndFeelInfoオブジェクトのセットNullPointerException - infosがnullである場合SecurityExceptiongetInstalledLookAndFeels()public static void installLookAndFeel(UIManager.LookAndFeelInfo info)
null infoを許容しますが、non-nullの値を使用することを強くお勧めします。 info - ルック・アンド・フィールを指定し、そのルック・アンド・フィールを実装するクラスを識別するLookAndFeelInfoオブジェクトsetInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])public static void installLookAndFeel(String name, String className)
non-nullの値を使用することを強くお勧めします。 name - ルック・アンド・フィールの説明的な名前className - このルック・アンド・フィールを実装するクラスの名前setInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])public static LookAndFeel getLookAndFeel()
nullを返します。nullsetLookAndFeel(javax.swing.LookAndFeel)public static void setLookAndFeel(LookAndFeel newLookAndFeel) throws UnsupportedLookAndFeelException
newLookAndFeelを現在のルック・アンド・フィールとして設定します。 現在のルック・アンド・フィールがnon-nullである場合、その上でuninitializeが呼び出されます。 newLookAndFeelがnon-nullである場合、その上でinitializeが呼び出され、続いてgetDefaultsが呼び出されます。 それまでのルック・アンド・フィールのデフォルトは、newLookAndFeel.getDefaults()が返すデフォルトに置き換えられます。 newLookAndFeelがnullの場合、ルック・アンド・フィールのデフォルトはnullに設定されます。 
 
 値nullは、ルック・アンド・フィールを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 - ルック・アンド・フィールを実装するクラスの名前を指定する文字列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)のカバー・メソッドです。 このメソッドは、開発者のデフォルトのみに影響を及ぼします。システムのデフォルトやルック・アンド・フィールのデフォルトに影響はありません。 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)のカバー・メソッドです。 しかし、補助的なルック・アンド・フィールがインストールされている場合、このメソッドは、まず多重化したルック・アンド・フィールのデフォルト上でgetUI(target)を呼び出し、non-nullの値だった場合はその値を返します。 target - ComponentUIを返されるJComponenttargetのComponentUIオブジェクトNullPointerException - targetがnullである場合UIDefaults.getUI(javax.swing.JComponent)public static UIDefaults getLookAndFeelDefaults()
UIDefaultsを返します。
 
 通常、開発者は、getDefaults()から返されるUIDefaultsを使用してください。 現在のルック・アンド・フィールは、特定の値の存在を求める可能性があります。このため、このメソッドから返されるUIDefaultsを変更すると、予期しない結果になる可能性があります。 
UIDefaultsgetDefaults(), setLookAndFeel(LookAndFeel), LookAndFeel.getDefaults()public static void addAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeelを補助的なルック・アンド・フィールのリストに追加します。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeelクラスに加えて使用するコンポーネント・インスタンスのLookAndFeelクラスを、多重化したルック・アンド・フィールに通知します。 変更が有効になるのは、新しいUIクラスが作成されるときと、デフォルトのルック・アンド・フィールがコンポーネント・インスタンスで変更されるときだけです。 
 これらはインストール済みのルック・アンド・フィールとは異なります。
laf - LookAndFeelオブジェクトremoveAuxiliaryLookAndFeel(javax.swing.LookAndFeel), setLookAndFeel(javax.swing.LookAndFeel), getAuxiliaryLookAndFeels(), getInstalledLookAndFeels()public static boolean removeAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeelを補助的なルック・アンド・フィールのリストから削除します。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeelクラスに加えて使用するコンポーネント・インスタンスのLookAndFeelクラスを、多重化したルック・アンド・フィールに通知します。 変更が有効になるのは、新しいUIクラスが作成されるときと、デフォルトのルック・アンド・フィールがコンポーネント・インスタンスで変更されるときだけです。 
 これらはインストール済みのルック・アンド・フィールとは異なります。
LookAndFeelがリストから削除された場合はtrueremoveAuxiliaryLookAndFeel(javax.swing.LookAndFeel), getAuxiliaryLookAndFeels(), setLookAndFeel(javax.swing.LookAndFeel), getInstalledLookAndFeels()public static LookAndFeel[] getAuxiliaryLookAndFeels()
nullの場合もあります。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeelクラスに加えて使用するコンポーネント・インスタンスのLookAndFeelクラスを、多重化したルック・アンド・フィールに通知します。 
 これらはインストール済みのルック・アンド・フィールとは異なります。
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, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。