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

クラスBasicLookAndFeel

  • すべての実装されたインタフェース:
    Serializable
    直系の既知のサブクラス:
    MetalLookAndFeel, SynthLookAndFeel

    public abstract class BasicLookAndFeel
    extends LookAndFeel
    implements Serializable
    SwingのLook & Feelの作成に使用する基底クラスです。

    BasicLookAndFeelが提供する各ComponentUIは、その動作をデフォルト表から取得します。 特に明記されていないかぎり、このパッケージ内の各ComponentUI実装は、それらが使用するデフォルトのセットをドキュメント化しています。 特に明記されていないかぎり、デフォルトはinstallUIの呼出し時にインストールされます。デフォルトのインストールは、LookAndFeelに記載されている推奨事項に従って行います。

    警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。

    • コンストラクタの詳細

      • BasicLookAndFeel

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

      • initClassDefaults

        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 - tablenullである場合
        関連項目:
        LookAndFeel, getDefaults()
      • initSystemColorDefaults

        protected void initSystemColorDefaults​(UIDefaults table)
        tableにシステム・カラーを格納します。 これにより、name-colorペアの配列が作成され、 loadSystemColorsが呼び出されます。

        名前は、 SystemColorクラスの静的なSystemColorフィールドの1つの名前に対応する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());
         
        前述したように、これにより、指定されたtablename-colorペア配列でloadSystemColorsが呼び出されます。 loadSystemColorsの最後の引数は、SystemColor内のフィールドの値を使用するべきかどうかを示します。 このメソッドは、loadSystemColorsの最後の引数として isNativeLookAndFeel()の値を渡します。

        パラメータ:
        table - 値が追加されるUIDefaultsオブジェクト
        例外:
        NullPointerException - tablenullである場合
        関連項目:
        SystemColorgetDefaults()loadSystemColors(javax.swing.UIDefaults, java.lang.String[], boolean)
      • loadSystemColors

        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です。

        useNativefalseの場合、colorは、Color.decodeを使用して StringColorに変換することで作成されます。 decodeStringColorに変換できない( NumberFormatExceptionがスローされる)場合、黒の ColorUIResourceが使用されます。

        useNativetrueの場合、colorは、name-colorペアのnameと同じ名前を持つ、SystemColor内のフィールドの値です。 フィールドが有効でない場合、黒のColorUIResourceが使用されます。

        パラメータ:
        table - 値が追加されるUIDefaultsオブジェクト
        systemColors - name-colorペアの配列(initSystemColorDefaults(UIDefaults)で説明)
        useNative - 色をSystemColorColor.decodeのどちらから取得するか
        例外:
        NullPointerException - systemColorsnullの場合、systemColorsが空でなくtablenullの場合、name-colorペアのいずれかの名前がnullの場合、またはuseNativefalsename-colorペアのいずれかのcolorsnullの場合
        ArrayIndexOutOfBoundsException - useNativefalseで、systemColors.lengthが奇数の場合
        関連項目:
        initSystemColorDefaults(javax.swing.UIDefaults)SystemColorColor.decode(String)
      • initComponentDefaults

        protected void initComponentDefaults​(UIDefaults table)
        基本Look & Feelのデフォルトが格納されたtableを生成します。
        パラメータ:
        table - 値を追加するUIDefaults
        例外:
        NullPointerException - tablenullである場合
      • getAudioActionMap

        protected ActionMap getAudioActionMap()
        このLook & Feelのオーディオ・アクションを含むActionMapを返します。

        返されるActionMapには、聴覚キューをレンダリングする機能を組み入れたActionsが含まれます。 これらの聴覚キューは、エンド・ユーザーが知っておくと便利なユーザーおよびシステム・アクティビティ(ダイアログ・ボックスの表示など)に関連付けられています。

        適切なときに、ComponentUIActionMapから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を含むActionMap
        例外:
        ClassCastException - デフォルト"AuditoryCues.actionMap"の値がActionMapでないか、デフォルト"AuditoryCues.cueList"の値がObject[]でない場合
        導入されたバージョン:
        1.4
        関連項目:
        createAudioAction(java.lang.Object), playSound(Action)
      • createAudioAction

        protected Action createAudioAction​(Object key)
        サウンドの再生に使用するActionを作成し、返します。

        keyがnullでない場合、デフォルトからの値とキーkeyを使用してActionが作成されます。 値は、Action上でactionPerformedが呼び出されたときにロードされるサウンド・リソースを識別します。 サウンド・リソースは、getClass().getResourceAsStream()によってbyte[]にロードされます。

        パラメータ:
        key - オーディオ・アクションを識別するキー
        戻り値:
        ソースの再生に使用するAction、またはkeynullの場合はnull
        導入されたバージョン:
        1.4
        関連項目:
        playSound(Action)
      • playSound

        protected void playSound​(Action audioAction)
        必要に応じて、audioActionactionPerformedを呼び出して、サウンドを再生します。 "AuditoryCues.playList"のデフォルト値が、audioActionの名前に等しいStringエントリを含む non-null Object[]である場合、actionPerformedメソッドが呼び出されます。
        パラメータ:
        audioAction -システムまたは発生中のユーザー・アクティビティに関連付けられたオーディオのレンダリング方法を知っているAction。値nullは無視される
        例外:
        ClassCastException - audioActionnon-nullで、デフォルト"AuditoryCues.playList"の値がObject[]でない場合
        導入されたバージョン:
        1.4