JavaTM 2 Platform
Standard Ed. 5.0

javax.swing
クラス LookAndFeel

java.lang.Object
  上位を拡張 javax.swing.LookAndFeel
直系の既知のサブクラス:
BasicLookAndFeel, MultiLookAndFeel

public abstract class LookAndFeel
extends Object

プラグイン可能な Look & Feel コンポーネントについて、Look & Feel の特性を完全に定義します。


コンストラクタの概要
LookAndFeel()
           
 
メソッドの概要
 UIDefaults getDefaults()
          Look & Feel 固有のデフォルトテーブルを作成するために、UIManager.setLookAndFeel によって 1 回呼び出されます。
abstract  String getDescription()
          「The CDE/Motif Look and Feel」など、この Look & Feel の実装に対する 1 行の説明を返します。
static Object getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
          Toolkit.getDefaultToolkit().getDesktopProperty() を呼び出して、指定されたシステムデスクトッププロパティの値を返します。
 Icon getDisabledIcon(JComponent component, Icon icon)
          無効な状態の Icon を返します。
 Icon getDisabledSelectedIcon(JComponent component, Icon icon)
          無効で、かつ選択されているコンポーネントによって使用される Icon を返します。
abstract  String getID()
          この Look & Feel を識別する文字列を返します。
abstract  String getName()
          「CDE/Motif」など、この Look & Feel を識別する短い文字列を返します。
 boolean getSupportsWindowDecorations()
          LookAndFeel が返す RootPaneUI インスタンスが JRootPane でのウィンドウ装飾の提供をサポートする場合、true を返します。
 void initialize()
          UIManager.setLookAndFeel は、getDefaults() の最初の呼び出し (通常は唯一の呼び出し) の前に、このメソッドを呼び出します。
static void installBorder(JComponent c, String defaultBorderName)
          ボーダが現在 null であるか、すでに UIResource のインスタンスである場合に、指定されたコンポーネントにコンポーネントのデフォルト Border オブジェクトをインストールする簡易メソッドです。
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 isNativeLookAndFeel()
          基本のプラットフォームに「ネイティブな」Look & Feel があり、現在の Look & Feel がその実装である場合に true を返します。
abstract  boolean isSupportedLookAndFeel()
          基本のプラットフォームがこの Look & Feel をサポートしたり、許容したりする場合に true を返します。
static void loadKeyBindings(InputMap retMap, Object[] keys)
          keys のバインディングを retMap にロードします。
static ComponentInputMap makeComponentInputMap(JComponent c, Object[] keys)
          keys から ComponentInputMap を生成します。
static Object makeIcon(Class<?> baseClass, String gifFile)
          指定された gifFile ファイル名の ImageIcon の UIResource を作成する UIDefaults.LazyValue を作成するためのユーティリティメソッドです。
static InputMap makeInputMap(Object[] keys)
          keys から InputMap を生成します。
static JTextComponent.KeyBinding[] makeKeyBindings(Object[] keyBindingList)
          KeyBinding のリストを作成する簡易メソッドです。
 void provideErrorFeedback(Component component)
          フォーカスを持つ編集不可能な JTextField にペーストするなど、ユーザが無効な操作を行おうとするときに呼び出されます。
 String toString()
          このオブジェクトのプロパティを表示および識別する文字列を返します。
 void uninitialize()
          UIManager.setLookAndFeel は、新しいデフォルトの Look & Feel に変更する直前に、このメソッドを呼び出します。
static void uninstallBorder(JComponent c)
          ボーダが現在 UIResource のインスタンスである場合に、指定されたコンポーネントからコンポーネントのデフォルトのボーダをアンインストールする簡易メソッドです。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

LookAndFeel

public LookAndFeel()
メソッドの詳細

installColors

public static void installColors(JComponent c,
                                 String defaultBgName,
                                 String defaultFgName)
現在のデフォルトテーブルの値で、コンポーネントのフォアグラウンドカラーおよびバックグラウンドカラープロパティを初期化する簡易メソッドです。各プロパティが設定されるのは、現在値が null または UIResource の場合だけです。

パラメータ:
c - デフォルトの色プロパティおよびフォントプロパティをインストールするターゲットコンポーネント
defaultBgName - デフォルトバックグラウンドのキー
defaultFgName - デフォルトフォアグラウンドのキー
関連項目:
installColorsAndFont(javax.swing.JComponent, java.lang.String, java.lang.String, java.lang.String), UIManager.getColor(java.lang.Object)

installColorsAndFont

public static void installColorsAndFont(JComponent c,
                                        String defaultBgName,
                                        String defaultFgName,
                                        String defaultFontName)
現在のデフォルトテーブルの値で、コンポーネントのフォアグラウンド、バックグラウンド、およびフォントプロパティを初期化する簡易メソッドです。各プロパティが設定されるのは、現在値が null または UIResource の場合だけです。

パラメータ:
c - デフォルトの色プロパティおよびフォントプロパティをインストールするターゲットコンポーネント
defaultBgName - デフォルトバックグラウンドのキー
defaultFgName - デフォルトフォアグラウンドのキー
defaultFontName - デフォルトフォントのキー
関連項目:
installColors(javax.swing.JComponent, java.lang.String, java.lang.String), UIManager.getColor(java.lang.Object), UIManager.getFont(java.lang.Object)

installBorder

public static void installBorder(JComponent c,
                                 String defaultBorderName)
ボーダが現在 null であるか、すでに UIResource のインスタンスである場合に、指定されたコンポーネントにコンポーネントのデフォルト Border オブジェクトをインストールする簡易メソッドです。

パラメータ:
c - デフォルトのボーダをインストールするターゲットコンポーネント
defaultBorderName - デフォルトのボーダを指定するキー

uninstallBorder

public static void uninstallBorder(JComponent c)
ボーダが現在 UIResource のインスタンスである場合に、指定されたコンポーネントからコンポーネントのデフォルトのボーダをアンインストールする簡易メソッドです。

パラメータ:
c - デフォルトのボーダをアンインストールするターゲットコンポーネント

installProperty

public static void installProperty(JComponent c,
                                   String propertyName,
                                   Object propertyValue)
クライアントプログラムによってプロパティがまだ設定されていない場合に、指定された名前と値でプロパティをコンポーネントにインストールする簡易メソッドです。このメソッドは、プリミティブ型 (boolean、int など) のプロパティのデフォルト値を指定する必要がある UI 委譲のインスタンスによって使用されます。プリミティブ型のプロパティ値は UIResource マーカでラップできないため、このメソッドは非公開状態を使用してプロパティがクライアントによって設定されているかどうかを判断します。

パラメータ:
c - プロパティをインストールするターゲットコンポーネント
propertyName - 設定されるプロパティの名前を含む文字列
propertyValue - プロパティの値を含むオブジェクト
例外:
IllegalArgumentException - 指定されたプロパティがこのメソッドを使用して設定できるものでない場合
ClassCastException - 指定されたプロパティ値がプロパティの型と一致しない場合にスローされる
NullPointerException - c または propertyValue が null の場合にスローされる

makeKeyBindings

public static JTextComponent.KeyBinding[] makeKeyBindings(Object[] keyBindingList)
KeyBinding のリストを作成する簡易メソッドです。

keyBindingList の KeyStroke と Action の組み合わせごとに、KeyBinding の配列を 1 つ返します。KeyStroke は、KeyStroke.getKeyStroke メソッドで指定された形式の文字列、または KeyStroke オブジェクトです。

Action は文字列です。次に例を示します。


        JTextComponent.KeyBinding[] multilineBindings = makeKeyBindings( new Object[] {
          "UP", DefaultEditorKit.upAction,
        "DOWN", DefaultEditorKit.downAction,
     "PAGE_UP", DefaultEditorKit.pageUpAction,
   "PAGE_DOWN", DefaultEditorKit.pageDownAction,
       "ENTER", DefaultEditorKit.insertBreakAction,
         "TAB", DefaultEditorKit.insertTabAction
  });
 

パラメータ:
keyBindingList - KeyStroke と Action の組み合わせの配列
戻り値:
KeyBinding の配列

makeInputMap

public static InputMap makeInputMap(Object[] keys)
keys から InputMap を生成します。keys は、KeyStroke.getKeyStroke(String) で指定された KeyStroke を提供する String または KeyStroke である偶数項目、および Object が ActionMap の関連 Action を判定するのに使った奇数項目をすべて用いて、InputMap を記述します。

導入されたバージョン:
1.3

makeComponentInputMap

public static ComponentInputMap makeComponentInputMap(JComponent c,
                                                      Object[] keys)
keys から ComponentInputMap を生成します。keys は、KeyStroke.getKeyStroke(String) で指定された KeyStroke を提供する String または KeyStroke である偶数項目、および Object が ActionMap の関連 Action を判定するのに使った奇数項目をすべて用いて、InputMap を記述します。

導入されたバージョン:
1.3

loadKeyBindings

public static void loadKeyBindings(InputMap retMap,
                                   Object[] keys)
keys のバインディングを retMap にロードします。これによって retMap の既存のバインディングが削除されることはありません。keys は、KeyStroke.getKeyStroke(String) で指定された KeyStroke を提供する String または KeyStroke である偶数項目、および Object が ActionMap の関連 Action を判定するのに使った奇数項目をすべて用いて、InputMap を記述します。

導入されたバージョン:
1.3

makeIcon

public static Object makeIcon(Class<?> baseClass,
                              String gifFile)
指定された gifFile ファイル名の ImageIcon の UIResource を作成する UIDefaults.LazyValue を作成するためのユーティリティメソッドです。


provideErrorFeedback

public void provideErrorFeedback(Component component)
フォーカスを持つ編集不可能な JTextField にペーストするなど、ユーザが無効な操作を行おうとするときに呼び出されます。デフォルトの実装では、ビープ音を鳴らします。別の動作を行う場合は、デフォルトの実装をサブクラスによってオーバーライドし、別のフィードバックを指定する必要があります。

パラメータ:
component - エラーが発生した Componentnull は、エラー条件を Component に直接関連付けないことを示す
導入されたバージョン:
1.4

getDesktopPropertyValue

public static Object getDesktopPropertyValue(String systemPropertyName,
                                             Object fallbackValue)
Toolkit.getDefaultToolkit().getDesktopProperty() を呼び出して、指定されたシステムデスクトッププロパティの値を返します。指定されたプロパティの値が null の場合、fallbackValue を返します。

パラメータ:
systemPropertyName - 照会するシステムデスクトッププロパティの名前
fallbackValue - システム値が null の場合、値として戻るオブジェクト
戻り値:
デスクトッププロパティの現在の値
関連項目:
Toolkit.getDesktopProperty(java.lang.String)

getDisabledIcon

public Icon getDisabledIcon(JComponent component,
                            Icon icon)
無効な状態の Icon を返します。このメソッドは、無効な状態の Icon が指定されていない場合に、それを生成するために使用されます。たとえば、JButton を作成し、 setIcon により Icon のみを指定した場合このメソッドが呼び出され、無効な状態の Icon が作成されます。icon として null が渡された場合は、このメソッドは null を返します。

Look & Feel によっては無効な状態のアイコンが描画されないことがあり、その場合、無効な状態のアイコンは無視されます。

パラメータ:
component - アイコンを表示する JComponent。null も可
icon - 無効な状態のアイコンを生成するアイコン
戻り値:
無効な状態のアイコン。適切なアイコンが生成できない場合は null
導入されたバージョン:
1.5

getDisabledSelectedIcon

public Icon getDisabledSelectedIcon(JComponent component,
                                    Icon icon)
無効で、かつ選択されているコンポーネントによって使用される Icon を返します。このメソッドは、無効で、かつ選択されている状態のコンポーネントに対して、この状態の特定の Icon が設定されていない場合に、Icon を生成するために使用します。たとえば、JButton を作成し、setIcon により Icon のみを指定した場合、このメソッドが呼び出され、無効でかつ選択されている Icon が生成されます。icon として null が渡された場合、このメソッドは null を返します。

Look & Feel によっては、無効で、かつ選択されている状態のアイコンが描画されないことがありますが、その場合、このメソッドは無視されます。

パラメータ:
component - アイコンを表示する JComponent。null も可
icon - 無効で、かつ選択されている状態のアイコンを生成するアイコン
戻り値:
無効で、かつ選択されている状態のアイコン。適切なアイコンが生成できない場合は null
導入されたバージョン:
1.5

getName

public abstract String getName()
「CDE/Motif」など、この Look & Feel を識別する短い文字列を返します。この文字列は、メニュー項目に適しています。Look & Feel は、それぞれ異なる名前を持っています。たとえば、数個のコンポーネントの描画方法を変更する MotifLookAndFeel のサブクラスは、「CDE/Motif My Way」などと呼ばれます。こうした名前は、ユーザが名前のリストから L&F を選択するときに便利です。


getID

public abstract String getID()
この Look & Feel を識別する文字列を返します。この文字列は、有名な Look & Feel の実装を認識するアプリケーション/サービスで使用されます。現在、有名なものとしては「Motif」、「Windows」、「Mac」、「Metal」などです。Look & Feel に基本的な変更を加えない有名なスーパークラスから派生した LookAndFeel は、このメソッドをオーバーライドすべきではないことに注意してください。


getDescription

public abstract String getDescription()
「The CDE/Motif Look and Feel」など、この Look & Feel の実装に対する 1 行の説明を返します。これはユーザ向けの文字列で、ウィンドウのタイトルやツールヒントメッセージなどに使用されます。


getSupportsWindowDecorations

public boolean getSupportsWindowDecorations()
LookAndFeel が返す RootPaneUI インスタンスが JRootPane でのウィンドウ装飾の提供をサポートする場合、true を返します。

デフォルトの実装は false を返します。ウィンドウ装飾をサポートする場合、サブクラスでこの実装をオーバーライドし、true を返すようにします。

戻り値:
作成された RootPaneUI インスタンスがクライアント側の装飾をサポートする場合は true
導入されたバージョン:
1.4
関連項目:
JDialog.setDefaultLookAndFeelDecorated(boolean), JFrame.setDefaultLookAndFeelDecorated(boolean), JRootPane.setWindowDecorationStyle(int)

isNativeLookAndFeel

public abstract boolean isNativeLookAndFeel()
基本のプラットフォームに「ネイティブな」Look & Feel があり、現在の Look & Feel がその実装である場合に true を返します。たとえば CDE/Motif の見た目と実装では、基本のプラットフォームが Solaris であった場合に、true が返されます。


isSupportedLookAndFeel

public abstract boolean isSupportedLookAndFeel()
基本のプラットフォームがこの Look & Feel をサポートしたり、許容したりする場合に true を返します。Look & Feel が特殊なリソースや、現在のプラットフォームに対して定義されていない法的契約に依存する場合、このメソッドは false を返します。

関連項目:
UIManager.setLookAndFeel(javax.swing.LookAndFeel)

initialize

public void initialize()
UIManager.setLookAndFeel は、getDefaults() の最初の呼び出し (通常は唯一の呼び出し) の前に、このメソッドを呼び出します。サブクラスは、static 初期化子ではなく、このメソッドで必要な一度だけのセットアップを実行します。Look & Feel クラスのオブジェクトは、isSupportedLookAndFeel() が false を返すことを確認するためにだけロードされる場合があるからです。

関連項目:
uninitialize(), UIManager.setLookAndFeel(javax.swing.LookAndFeel)

uninitialize

public void uninitialize()
UIManager.setLookAndFeel は、新しいデフォルトの Look & Feel に変更する直前に、このメソッドを呼び出します。サブクラスは、このメソッドでいくつかのリソースを解放できます。

関連項目:
initialize()

getDefaults

public UIDefaults getDefaults()
Look & Feel 固有のデフォルトテーブルを作成するために、UIManager.setLookAndFeel によって 1 回呼び出されます。アプリケーションビルダなど、ほかのアプリケーションもこのメソッドを呼び出す場合があります。

関連項目:
initialize(), uninitialize(), UIManager.setLookAndFeel(javax.swing.LookAndFeel)

toString

public String toString()
このオブジェクトのプロパティを表示および識別する文字列を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。