モジュール java.desktop
パッケージ javax.swing

クラスUIManager

  • すべての実装されたインタフェース:
    Serializable

    public class UIManager
    extends Object
    implements Serializable
    UIManagerは、現在のルック・アンド・フィール、使用可能なルック・アンド・フィールのセット、ルック・アンド・フィールの変更時に通知を受けるPropertyChangeListeners、ルック・アンド・フィールのデフォルト値、およびさまざまなデフォルト値を取得するために使用する簡易メソッドを管理します。

    ルック・アンド・フィールの指定

    ルック・アンド・フィールの指定方法は2とおりあります。1つはルック・アンド・フィールのクラスの完全修飾名を指定する方法、もう1つはLookAndFeelのインスタンスを作成し、setLookAndFeelに渡す方法です。 次に、システムのルック・アンド・フィールにルック・アンド・フィールを設定する例を示します。
       UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
     
    次に、クラス名を指定してルック・アンド・フィールを設定する例を示します。
       UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
     
    ルック・アンド・フィールを変更したら必ず、すべてのJComponents上でupdateUIを呼び出します。 SwingUtilities.updateComponentTreeUI(java.awt.Component)メソッドを使用すると、包含関係の階層に updateUIを簡単に適用できます。 詳細は、そちらを参照してください。 ルック・アンド・フィールの変更後、 updateUIを呼び出さなかった場合の正確な動作は指定されていません。 予期しない例外、ペイントの問題、またはそれ以上に困った事態が発生する可能性が高いです。

    デフォルトのルック・アンド・フィール

    デフォルトのルック・アンド・フィールのクラスは、次の方法で選択されます。
    1. システム・プロパティのswing.defaultlafnon-nullの場合、このプロパティの値をデフォルトのルック・アンド・フィールのクラス名として使用します。
    2. Propertiesファイルのswing.propertiesが存在し、キーswing.defaultlafが格納されている場合、その値をデフォルトのルック・アンド・フィールのクラス名として使用します。 swing.propertiesが確認される場所は、Javaプラットフォームの実装によって異なる可能性があります。 通常、swing.propertiesファイルは、Javaインストール・ディレクトリのconfサブディレクトリにあります。 詳細は、使用する実装のリリース・ノートを参照してください。
    3. 上記以外の場合は、クロス・プラットフォームルック・アンド・フィールを使用します。

    デフォルト

    UIManagerは、UIDefaultsのセットを3組管理します。 これらは順番に、次のとおりです。
    1. 開発者のデフォルト。 わずかに例外はありますが、Swingでは、開発者のデフォルトは変更されません。開発者のデフォルトを変更または使用するのは、開発者自身です。
    2. ルック・アンド・フィールのデフォルト。 ルック・アンド・フィールのデフォルトは、ルック・アンド・フィールを現在のルック・アンド・フィールとしてインストールしたとき(setLookAndFeel()が呼び出されたとき)、このルック・アンド・フィールによって提供されます。 ルック・アンド・フィールのデフォルトは、 getLookAndFeelDefaults()メソッドを使って取得できます。
    3. システムのデフォルト。 システムのデフォルトは、Swingによって提供されます。
    どの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を参照してください。

    導入されたバージョン:
    1.2
    関連項目:
    直列化された形式
    • ネストされたクラスのサマリー

      ネストされたクラス 
      修飾子と型 クラス 説明
      static class  UIManager.LookAndFeelInfo
      メニューの設定またはアプリケーションの初期設定のための、インストール済みLookAndFeelに関する概要を説明します。
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      UIManager()  
    • コンストラクタの詳細

      • UIManager

        public UIManager()
    • メソッドの詳細

      • getInstalledLookAndFeels

        public static UIManager.LookAndFeelInfo[] getInstalledLookAndFeels()
        現在使用可能なLookAndFeelの実装を表すLookAndFeelInfoの配列を返します。 アプリケーションはLookAndFeelInfoオブジェクトを使用して、ユーザー用ルック・アンド・フィールオプションのメニューを構築したり、起動時に設定するルック・アンド・フィールを決定したりできます。 多数の LookAndFeelオブジェクトを作成することのペナルティを避けるため、LookAndFeelInfoは実際のLookAndFeelインスタンスではなく、LookAndFeelクラスのクラス名を維持します。

        次に、LookAndFeelInfoのインスタンスから現在のルック・アンド・フィールを設定する例を示します。

           UIManager.setLookAndFeel(info.getClassName());
         

        戻り値:
        LookAndFeelInfoオブジェクトの配列
        関連項目:
        setLookAndFeel(javax.swing.LookAndFeel)
      • setInstalledLookAndFeels

        public static void setInstalledLookAndFeels​(UIManager.LookAndFeelInfo[] infos)
                                             throws SecurityException
        使用可能なルック・アンド・フィールのセットを設定します。 このメソッドは、すべてのLookAndFeelInfosnon-nullであるかどうかをチェックするわけではありませんが、infos配列にはnon-nullの値だけを指定することを強くお勧めします。
        パラメータ:
        infos - 使用可能なルック・アンド・フィールを指定するLookAndFeelInfoオブジェクトのセット
        例外:
        NullPointerException - infosnullである場合
        SecurityException
        関連項目:
        getInstalledLookAndFeels()
      • installLookAndFeel

        public static void installLookAndFeel​(UIManager.LookAndFeelInfo info)
        使用可能なルック・アンド・フィールのセットに、指定されたルック・アンド・フィールを追加します。 このメソッドはnull infoを許容しますが、non-nullの値を使用することを強くお勧めします。
        パラメータ:
        info - ルック・アンド・フィールを指定し、そのルック・アンド・フィールを実装するクラスを識別するLookAndFeelInfoオブジェクト
        関連項目:
        setInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])
      • installLookAndFeel

        public static void installLookAndFeel​(String name,
                                              String className)
        使用可能なルック・アンド・フィールのセットに、指定されたルック・アンド・フィールを追加します。 このメソッドは引数のチェックを行いませんが、 non-nullの値を使用することを強くお勧めします。
        パラメータ:
        name - ルック・アンド・フィールの説明的な名前
        className - このルック・アンド・フィールを実装するクラスの名前
        関連項目:
        setInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])
      • getLookAndFeel

        public static LookAndFeel getLookAndFeel()
        現在のルック・アンド・フィール、またはnullを返します。
        戻り値:
        現在のルック・アンド・フィール、またはnull
        関連項目:
        setLookAndFeel(javax.swing.LookAndFeel)
      • setLookAndFeel

        public static void setLookAndFeel​(LookAndFeel newLookAndFeel)
                                   throws UnsupportedLookAndFeelException
        newLookAndFeelを現在のルック・アンド・フィールとして設定します。 現在のルック・アンド・フィールがnon-nullである場合、その上で uninitializeが呼び出されます。 newLookAndFeelnon-nullである場合、その上でinitializeが呼び出され、続いてgetDefaultsが呼び出されます。 それまでのルック・アンド・フィールのデフォルトは、 newLookAndFeel.getDefaults()が返すデフォルトに置き換えられます。 newLookAndFeelnullの場合、ルック・アンド・フィールのデフォルトはnullに設定されます。

        nullは、ルック・アンド・フィールをnullに設定する場合に使用できます。 ほとんどの場合、Swingを機能させるためにはLookAndFeelが必要です。したがって、LookAndFeelnullに設定することはまったくお薦めしません。

        これはJavaBeansバウンド・プロパティです。

        パラメータ:
        newLookAndFeel - インストールするLookAndFeel
        例外:
        UnsupportedLookAndFeelException - newLookAndFeelnon-nullで、newLookAndFeel.isSupportedLookAndFeel()falseを返す場合
        関連項目:
        getLookAndFeel()
      • getSystemLookAndFeelClassName

        public static String getSystemLookAndFeelClassName()
        ネイティブ・システムのルック・アンド・フィールを実装するLookAndFeelクラスの名前があればそれを返し、そうでない場合はデフォルトのクロス・プラットフォームのLookAndFeelクラスの名前を返します。 この値は、swing.systemlafシステム・プロパティを設定することによりオーバーライドできます。
        戻り値:
        LookAndFeelクラスのString
        関連項目:
        setLookAndFeel(javax.swing.LookAndFeel), getCrossPlatformLookAndFeelClassName()
      • getCrossPlatformLookAndFeelClassName

        public static String getCrossPlatformLookAndFeelClassName()
        デフォルト・クロス・プラットフォームのルック・アンド・フィール、つまりJava ルック・アンド・フィール (JLF)を実装するLookAndFeelクラスの名前を返します。 この値は、swing.crossplatformlafシステム・プロパティを設定することによりオーバーライドできます。
        戻り値:
        JLFの実装クラスの文字列
        関連項目:
        setLookAndFeel(javax.swing.LookAndFeel), getSystemLookAndFeelClassName()
      • getDefaults

        public static UIDefaults getDefaults()
        デフォルトを返します。 返されたデフォルトは、そのクラスのドキュメントに指定されたロジックで解決されます。
        戻り値:
        デフォルト値を格納するUIDefaultsオブジェクト
      • getFont

        public static Font getFont​(Object key)
        デフォルトからフォントを返します。 keyの値がFontでない場合、nullが返されます。
        パラメータ:
        key - フォントを指定するObject
        戻り値:
        Fontオブジェクト
        例外:
        NullPointerException - keynullである場合
      • getFont

        public static Font getFont​(Object key,
                                   Locale l)
        デフォルトから、指定されたロケールに適したフォントを返します。 keyの値がFontでない場合、nullが返されます。
        パラメータ:
        key - フォントを指定するObject
        l - そのフォントが適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        Fontオブジェクト
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getColor

        public static Color getColor​(Object key)
        デフォルトから色を返します。 keyの値がColorでない場合、nullが返されます。
        パラメータ:
        key - 色を指定するObject
        戻り値:
        Colorオブジェクト
        例外:
        NullPointerException - keynullである場合
      • getColor

        public static Color getColor​(Object key,
                                     Locale l)
        デフォルトから、指定されたロケールに適した色を返します。 keyの値がColorでない場合、nullが返されます。
        パラメータ:
        key - 色を指定するObject
        l - その色が適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        Colorオブジェクト
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getIcon

        public static Icon getIcon​(Object key)
        デフォルトからIconを返します。 keyの値がIconでない場合、nullが返されます。
        パラメータ:
        key - アイコンを指定するObject
        戻り値:
        Iconオブジェクト
        例外:
        NullPointerException - keynullである場合
      • getIcon

        public static Icon getIcon​(Object key,
                                   Locale l)
        デフォルトから、指定されたロケールに適したIconを返します。 keyの値がIconでない場合、nullが返されます。
        パラメータ:
        key - アイコンを指定するObject
        l - そのアイコンが適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        Iconオブジェクト
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getBorder

        public static Border getBorder​(Object key)
        デフォルトからボーダーを返します。 keyの値がBorderでない場合、nullが返されます。
        パラメータ:
        key - ボーダーを指定するObject
        戻り値:
        Borderオブジェクト
        例外:
        NullPointerException - keynullである場合
      • getBorder

        public static Border getBorder​(Object key,
                                       Locale l)
        デフォルトから、指定されたロケールに適したボーダーを返します。 keyの値がBorderでない場合、nullが返されます。
        パラメータ:
        key - ボーダーを指定するObject
        l - そのボーダーが適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        Borderオブジェクト
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getString

        public static String getString​(Object key)
        デフォルトから文字列を返します。 keyの値がStringでない場合、nullが返されます。
        パラメータ:
        key - 文字列を指定するObject
        戻り値:
        String
        例外:
        NullPointerException - keynullである場合
      • getString

        public static String getString​(Object key,
                                       Locale l)
        デフォルトから、指定されたロケールに適した文字列を返します。 keyの値がStringでない場合、nullが返されます。
        パラメータ:
        key - 文字列を指定するObject
        l - その文字列が適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        String
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getInt

        public static int getInt​(Object key)
        デフォルトからint値を返します。 keyの値がIntegerでない場合や存在しない場合は、0が返されます。
        パラメータ:
        key - int値を指定するObject
        戻り値:
        int値
        例外:
        NullPointerException - keynullである場合
      • getInt

        public static int getInt​(Object key,
                                 Locale l)
        デフォルトから、指定されたロケールに適したint値を返します。 keyの値がIntegerでない場合や存在しない場合は、0が返されます。
        パラメータ:
        key - int値を指定するObject
        l - そのint値が適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        int値
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getBoolean

        public static boolean getBoolean​(Object key)
        デフォルトから、キーの値に関連付けられたboolean値を返します。 キーが見つからない場合、またはキーがboolean値で表されていない場合、falseが返されます。
        パラメータ:
        key - 目的のboolean値のキーを指定するObject
        戻り値:
        キーに対応するboolean値
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getBoolean

        public static boolean getBoolean​(Object key,
                                         Locale l)
        デフォルトから、キーの値および指定されたLocaleに関連付けられたboolean値を返します。 キーが見つからない場合、またはキーがboolean値で表されていない場合、falseが返されます。
        パラメータ:
        key - 目的のboolean値のキーを指定するObject
        l - そのboolean値が適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        キーに対応するboolean値
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getInsets

        public static Insets getInsets​(Object key)
        デフォルトからInsetsオブジェクトを返します。 keyの値がInsetsでない場合、nullが返されます。
        パラメータ:
        key - Insetsオブジェクトを指定するObject
        戻り値:
        Insetsオブジェクト
        例外:
        NullPointerException - keynullである場合
      • getInsets

        public static Insets getInsets​(Object key,
                                       Locale l)
        デフォルトから、指定されたロケールに適したInsetsオブジェクトを返します。 keyの値がInsetsでない場合、nullが返されます。
        パラメータ:
        key - Insetsオブジェクトを指定するObject
        l - そのオブジェクトが適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        Insetsオブジェクト
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • getDimension

        public static Dimension getDimension​(Object key)
        デフォルトから寸法を返します。 keyの値がDimensionでない場合、nullが返されます。
        パラメータ:
        key - 寸法オブジェクトを指定するObject
        戻り値:
        Dimensionオブジェクト
        例外:
        NullPointerException - keynullである場合
      • getDimension

        public static Dimension getDimension​(Object key,
                                             Locale l)
        デフォルトから、指定されたロケールに適した寸法を返します。 keyの値がDimensionでない場合、nullが返されます。
        パラメータ:
        key - 寸法オブジェクトを指定するObject
        l - そのオブジェクトが適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        Dimensionオブジェクト
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • get

        public static Object get​(Object key)
        デフォルトからオブジェクトを返します。
        パラメータ:
        key - 目的のオブジェクトを指定するObject
        戻り値:
        Object
        例外:
        NullPointerException - keynullである場合
      • get

        public static Object get​(Object key,
                                 Locale l)
        デフォルトから、指定されたロケールに適したオブジェクトを返します。
        パラメータ:
        key - 目的のオブジェクトを指定するObject
        l - そのオブジェクトが適しているLocaleLocalenullの場合の処理方法については、UIDefaultsを参照
        戻り値:
        Object
        例外:
        NullPointerException - keynullである場合
        導入されたバージョン:
        1.4
      • put

        public static Object put​(Object key,
                                 Object value)
        開発者のデフォルトにオブジェクトを格納します。 これはgetDefaults().put(key, value)のカバー・メソッドです。 このメソッドは、開発者のデフォルトのみに影響を及ぼします。システムのデフォルトやルック・アンド・フィールのデフォルトに影響はありません。
        パラメータ:
        key - 検索キーを指定するObject
        value - 格納するObjectnullの場合の処理方法についてはUIDefaultsを参照
        戻り値:
        UIDefaults.put(java.lang.Object, java.lang.Object)によって返されたObject
        例外:
        NullPointerException - keynullである場合
        関連項目:
        UIDefaults.put(java.lang.Object, java.lang.Object)
      • getUI

        public static ComponentUI getUI​(JComponent target)
        targetに適したComponentUI実装を返します。 通常これは、getDefaults().getUI(target)のカバー・メソッドです。 しかし、補助的なルック・アンド・フィールがインストールされている場合、このメソッドは、まず多重化したルック・アンド・フィールのデフォルト上でgetUI(target)を呼び出し、non-nullの値だった場合はその値を返します。
        パラメータ:
        target - ComponentUIを返されるJComponent
        戻り値:
        targetComponentUIオブジェクト
        例外:
        NullPointerException - targetnullである場合
        関連項目:
        UIDefaults.getUI(javax.swing.JComponent)
      • getLookAndFeelDefaults

        public static UIDefaults getLookAndFeelDefaults()
        現在のルック・アンド・フィールがインストールされたとき取得された、このルック・アンド・フィールのUIDefaultsを返します。

        通常、開発者は、getDefaults()から返されるUIDefaultsを使用してください。 現在のルック・アンド・フィールは、特定の値の存在を求める可能性があります。このため、このメソッドから返されるUIDefaultsを変更すると、予期しない結果になる可能性があります。

        戻り値:
        現在のルック・アンド・フィールのUIDefaults
        関連項目:
        getDefaults(), setLookAndFeel(LookAndFeel), LookAndFeel.getDefaults()
      • addAuxiliaryLookAndFeel

        public static void addAuxiliaryLookAndFeel​(LookAndFeel laf)
        LookAndFeelを補助的なルック・アンド・フィールのリストに追加します。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeelクラスに加えて使用するコンポーネント・インスタンスのLookAndFeelクラスを、多重化したルック・アンド・フィールに通知します。 変更が有効になるのは、新しいUIクラスが作成されるときと、デフォルトのルック・アンド・フィールがコンポーネント・インスタンスで変更されるときだけです。

        これらはインストール済みのルック・アンド・フィールとは異なります。

        パラメータ:
        laf - LookAndFeelオブジェクト
        関連項目:
        removeAuxiliaryLookAndFeel(javax.swing.LookAndFeel), setLookAndFeel(javax.swing.LookAndFeel), getAuxiliaryLookAndFeels(), getInstalledLookAndFeels()
      • removeAuxiliaryLookAndFeel

        public static boolean removeAuxiliaryLookAndFeel​(LookAndFeel laf)
        LookAndFeelを補助的なルック・アンド・フィールのリストから削除します。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeelクラスに加えて使用するコンポーネント・インスタンスのLookAndFeelクラスを、多重化したルック・アンド・フィールに通知します。 変更が有効になるのは、新しいUIクラスが作成されるときと、デフォルトのルック・アンド・フィールがコンポーネント・インスタンスで変更されるときだけです。

        これらはインストール済みのルック・アンド・フィールとは異なります。

        パラメータ:
        laf - 削除されるLookAndFeel
        戻り値:
        LookAndFeelがリストから削除された場合はtrue
        関連項目:
        removeAuxiliaryLookAndFeel(javax.swing.LookAndFeel), getAuxiliaryLookAndFeels(), setLookAndFeel(javax.swing.LookAndFeel), getInstalledLookAndFeels()
      • addPropertyChangeListener

        public static void addPropertyChangeListener​(PropertyChangeListener listener)
        リスナー・リストにPropertyChangeListenerを追加します。 リスナーは、すべてのプロパティに対して登録されます。
        パラメータ:
        listener - 追加されるPropertyChangeListener
        関連項目:
        PropertyChangeSupport
      • removePropertyChangeListener

        public static void removePropertyChangeListener​(PropertyChangeListener listener)
        PropertyChangeListenerをリスナー・リストから削除します。 すべてのプロパティに登録されたPropertyChangeListenerを削除します。
        パラメータ:
        listener - 削除するPropertyChangeListener
        関連項目:
        PropertyChangeSupport
      • getPropertyChangeListeners

        public static PropertyChangeListener[] getPropertyChangeListeners()
        addPropertyChangeListener()を使用してこのUIManagerに追加されているすべてのPropertyChangeListenerの配列を返します。
        戻り値:
        追加されたすべてのPropertyChangeListener。リスナーが追加されていない場合は空の配列
        導入されたバージョン:
        1.4