クラスBasicLookAndFeel

java.lang.Object
javax.swing.LookAndFeel
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を参照してください。

  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    サブクラスが呼び出すためのコンストラクタ。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected Action
    サウンドの再生に使用するActionを作成し、返します。
    protected ActionMap
    このLook & Feelのオーディオ・アクションを含むActionMapを返します。
    ルック・アンド・フィールのデフォルトを返します。
    protected void
    uiClassIDとUIクラスの完全指定名のマッピングを格納したtableを生成します。
    protected void
    基本Look & Feelのデフォルトが格納されたtableを生成します。
    protected void
    tableにシステム・カラーを格納します。
    protected void
    loadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)
    tableに、systemColors内のname-colorのペアを格納します。
    protected void
    playSound(Action audioAction)
    必要に応じて、audioActionactionPerformedを呼び出して、サウンドを再生します。

    クラスで宣言されたメソッド LookAndFeel

    getDescription, getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getID, getLayoutStyle, getName, getSupportsWindowDecorations, initialize, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninitialize, uninstallBorder
    修飾子と型
    メソッド
    説明
    abstract String
    このルック・アンド・フィールの実装に関する1行の説明を返します。
    static Object
    getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
    Toolkit.getDefaultToolkit().getDesktopProperty()を呼び出すことで、指定されたシステム・デスクトップ・プロパティの値を返します。
    getDisabledIcon(JComponent component, Icon icon)
    無効な状態のIconを返します。
    無効で、かつ選択されているコンポーネントによって使用されるIconを返します。
    abstract String
    このルック・アンド・フィールを識別する文字列を返します。
    このルック・アンド・フィールのLayoutStyleを返します。
    abstract String
    このルック・アンド・フィールを識別する短い文字列を返します。
    boolean
    RootPaneUIインスタンスを返すLookAndFeelJRootPaneでのWindow装飾の提供をサポートする場合は、trueを返します。
    void
    ルック・アンド・フィールを初期化します。
    static void
    installBorder(JComponent c, String defaultBorderName)
    コンポーネントのボーダーのプロパティにデフォルト値を設定する簡易メソッドです。
    static void
    installColors(JComponent c, String defaultBgName, String defaultFgName)
    コンポーネントのフォアグラウンド・カラーおよびバックグラウンド・カラーのプロパティにデフォルト値を設定する簡易メソッドです。
    static void
    installColorsAndFont(JComponent c, String defaultBgName, String defaultFgName, String defaultFontName)
    コンポーネントのフォアグラウンド、バックグラウンド、およびフォントのプロパティにデフォルト値を設定する簡易メソッドです。
    static void
    installProperty(JComponent c, String propertyName, Object propertyValue)
    開発者がまだプロパティを設定していない場合に、指定された名前と値でプロパティをコンポーネントにインストールする簡易メソッドです。
    abstract boolean
    基本のプラットフォームに「ネイティブな」ルック・アンド・フィールがあり、現在のルック・アンド・フィールがその実装である場合にtrueを返します。
    abstract boolean
    基本のプラットフォームがこのルック・アンド・フィールをサポートする場合、または許可する場合にtrueを返します。
    static void
    loadKeyBindings(InputMap retMap, Object[] keys)
    指定されたバインディングでInputMapを生成します。
    keysからComponentInputMapUIResourceを作成します。
    static Object
    makeIcon(Class<?> baseClass, String gifFile)
    イメージをロードするUIDefault.LazyValueを作成して返します。
    static InputMap
    keysからInputMapUIResourceを作成します。
    makeKeyBindings(Object[] keyBindingList)
    KeyBindingsの配列を構築する簡易メソッドです。
    void
    ユーザーが、フォーカスを持つ編集不可能なJTextFieldへのペーストなどの無効な操作を行おうとしたときに呼び出されます。
    このオブジェクトのプロパティを表示および識別する文字列を返します。
    void
    ルック・アンド・フィールの初期化を解除します。
    static void
    ボーダーをアンインストールする簡易メソッドです。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • BasicLookAndFeel

      protected BasicLookAndFeel()
      サブクラスが呼び出すためのコンストラクタ。
  • メソッドの詳細

    • getDefaults

      public UIDefaults getDefaults()
      ルック・アンド・フィールのデフォルトを返します。 返されるUIDefaultsは、initClassDefaultsinitSystemColorDefaults、およびinitComponentDefaultsをこの順序で呼び出すことによって生成されます。

      このメソッドはpublicメソッドですが、ルック・アンド・フィールが現在のルック・アンド・フィールとして設定され、initializeが呼び出されたあとにのみ、UIManagerによって呼び出すようにしてください。

      オーバーライド:
      getDefaults、クラスLookAndFeel
      戻り値:
      ルック・アンド・フィールのデフォルト
      関連項目:
    • 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である場合
      関連項目:
    • 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である場合
      関連項目:
    • 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が奇数の場合
      関連項目:
    • 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

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

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

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