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