java.lang.Object
javax.swing.plaf.ComponentUI
- 直系の既知のサブクラス:
ButtonUI
,ColorChooserUI
,ComboBoxUI
,DesktopIconUI
,DesktopPaneUI
,FileChooserUI
,InternalFrameUI
,LabelUI
,LayerUI
,ListUI
,MenuBarUI
,OptionPaneUI
,PanelUI
,PopupMenuUI
,ProgressBarUI
,RootPaneUI
,ScrollBarUI
,ScrollPaneUI
,SeparatorUI
,SliderUI
,SpinnerUI
,SplitPaneUI
,TabbedPaneUI
,TableHeaderUI
,TableUI
,TextUI
,ToolBarUI
,ToolTipUI
,TreeUI
,ViewportUI
public abstract class ComponentUI extends Object
Swingのプラグイン可能なLook & Feelアーキテクチャに含まれるすべてのUI委譲オブジェクトの基底クラスです。 SwingコンポーネントのUI委譲オブジェクトはLook & Feelに依存するコンポーネントの側面の実装を扱います。
JComponent
クラスは、インストールしたLook & Feelによって異なる可能性があるオペレーション(ペイント、レイアウトの計算など)を委譲するために、このクラスからメソッドを呼び出します。 クライアントのプログラムは、直接このクラスのメソッドを呼び出すべきではありません。 - 関連項目:
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明boolean
contains
(JComponent c, int x, int y) 指定された x,yの位置が、指定されたコンポーネントのLook & Feel定義の形状内にある場合は、true
を返します。static ComponentUI
指定されたコンポーネントのUI委譲のインスタンスを返します。getAccessibleChild
(JComponent c, int i) オブジェクトのi
番目のAccessible
の子を返します。int
オブジェクト内のアクセシビリティ対応の子の数を返します。int
getBaseline
(JComponent c, int width, int height) ベースラインを返します。サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。指定されたコンポーネントの、Look & Feelに適した最小サイズを返します。指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。void
指定されたコンポーネントをLook & Feelに応じて適切に構成します。void
paint
(Graphics g, JComponent c) 指定されたコンポーネントをLook & Feelに合わせてペイントします。void
installUI
時に、指定されたコンポーネントに対して行われた構成を取り消します。void
update
(Graphics g, JComponent c) 指定されたコンポーネントをペイントする時間になったことを、このUI委譲に通知します。
-
コンストラクタの詳細
-
ComponentUI
public ComponentUI()唯一のコンストラクタです。 サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。
-
-
メソッドの詳細
-
installUI
public void installUI(JComponent c) 指定されたコンポーネントをLook & Feelに応じて適切に構成します。 このメソッドは、ComponentUI
インスタンスが、指定されたコンポーネントのUI委譲としてインストールされているときに呼び出されます。 このメソッドは、次を含むLook & Feel用のコンポーネントを完全に構成するべきです。- カラー、フォント、ボーダー、アイコン、不透明さなどのデフォルト・プロパティ値をコンポーネントにインストールする。 可能な場合は常に、クライアント・プログラムによって初期化されたプロパティの値をオーバーライドするべきではない。
- 必要に応じて、コンポーネントに
LayoutManager
をインストールする。 - 必要なサブコンポーネントを作成して、コンポーネントに追加する。
- イベント・リスナーを作成して、コンポーネントにインストールする。
- コンポーネントのプロパティの変更を適切に検出し、応答するために、
PropertyChangeListener
を作成してコンポーネントにインストールする。 - キーボードUI (ニーモニック、トラバーサルなど)を、コンポーネントにインストールする。
- 適切なインスタンスのデータを初期化する。
- パラメータ:
c
- UI委譲がインストールされるコンポーネント- 関連項目:
-
uninstallUI
public void uninstallUI(JComponent c) installUI
時に、指定されたコンポーネントに対して行われた構成を取り消します。 このメソッドは、このUIComponent
インスタンスが、指定されたコンポーネントのUI委譲として削除されているときに呼び出されます。 このメソッドは、installUI
によって実行された構成を元に戻すべきです。この場合、JComponent
インスタンスをクリーンな状態(余分なリスナーや、Look & Feel固有のプロパティ・オブジェクトが残らないように)にするよう十分注意してください。 手順には次のものが含まれるべきです。- UIとして設定されたすべてのボーダーを、コンポーネントから削除する。
- UIとして設定されたすべてのレイアウト・マネージャを、コンポーネントから削除する。
- UIとして追加されたすべてのサブコンポーネントを、コンポーネントから削除する。
- UIとして追加されたすべてのイベント/プロパティ・リスナーを、コンポーネントから削除する。
- UIとしてインストールされたすべてのキーボードUIを、コンポーネントから削除する。
- GCの対象になるように、割り当てられたすべてのインスタンス・データ・オブジェクトをnullに設定する。
- パラメータ:
c
- このUI委譲が削除されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
-
paint
public void paint(Graphics g, JComponent c) 指定されたコンポーネントをLook & Feelに合わせてペイントします。 このメソッドは、指定されたコンポーネントがペイントされるときにComponentUI.update
メソッドから呼び出されます。 サブクラスは、このメソッドをオーバーライドして、指定されたGraphics
オブジェクトを使ってコンポーネントの内容を描画するべきです。- パラメータ:
g
- ペイント対象のGraphics
コンテキストc
- ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
-
update
public void update(Graphics g, JComponent c) 指定されたコンポーネントをペイントする時間になったことを、このUI委譲に通知します。 このメソッドは、指定されたコンポーネントがペイントされるときにJComponent
によって呼び出されます。デフォルトでは、このメソッドは、指定されたコンポーネントの
opaque
プロパティがtrue
の場合に、コンポーネントをそのバックグラウンド・カラーで塗りつぶし、すぐにpaint
を呼び出します。 一般的に、このメソッドはサブクラスによってオーバーライドする必要はありません。すべてのLook & Feel描画コードはpaint
メソッド内に存在する必要があります。- パラメータ:
g
- ペイント対象のGraphics
コンテキストc
- ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
-
getPreferredSize
public Dimension getPreferredSize(JComponent c) 指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。null
が返された場合、適切なサイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はnull
を返します。- パラメータ:
c
- 推奨サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 戻り値:
- Look&Feelに適した指定されたコンポーネントの優先サイズを含む
Dimension
オブジェクト - 関連項目:
-
getMinimumSize
public Dimension getMinimumSize(JComponent c) 指定されたコンポーネントの、Look & Feelに適した最小サイズを返します。null
が返された場合、最小サイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はgetPreferredSize
を呼び出して、その値を返します。- パラメータ:
c
- 最小サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 戻り値:
Dimension
オブジェクトまたはnull
- 関連項目:
-
getMaximumSize
public Dimension getMaximumSize(JComponent c) 指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。null
が返された場合、最大サイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はgetPreferredSize
を呼び出して、その値を返します。- パラメータ:
c
- 最大サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 戻り値:
Dimension
オブジェクトまたはnull
- 関連項目:
-
contains
public boolean contains(JComponent c, int x, int y) 指定されたx,yの位置が、指定されたコンポーネントのLook & Feel定義の形状内にある場合は、true
を返します。x
とy
は、指定されたコンポーネントの座標体系を基準に定義されます。 コンポーネントのbounds
は矩形に制限されますが、このメソッドはヒットの検出のためにこれらの境界内で矩形以外の形状を定義する方法を提供します。- パラメータ:
c
- x,yの位置が照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントに共有されている場合は使用されることがあるx
- 点のx座標y
- 点のy座標- 戻り値:
true
指定されたx,y
のロケーションが、指定されたコンポーネントのルック・アンド・フィールの定義されたシェイプに含まれている場合- 関連項目:
-
createUI
public static ComponentUI createUI(JComponent c) 指定されたコンポーネントのUI委譲のインスタンスを返します。 各サブクラスは、それ自体のstaticcreateUI
メソッドを提供して、そのUI委譲のサブクラスのインスタンスを返す必要があります。 UI委譲のサブクラスがステートレスの場合、複数のコンポーネントに共有されるインスタンスを返します。 UI委譲がステートフルの場合、コンポーネントごとに新しいインスタンスを返す必要があります。 このメソッドは呼び出してはいけないため、そのデフォルト実装はエラーをスローします。- パラメータ:
c
- UIデリゲートを作成するためのJComponent
- 戻り値:
c
のComponentUI
オブジェクト
-
getBaseline
public int getBaseline(JComponent c, int width, int height) ベースラインを返します。 ベースラインは、コンポーネントの上端から測定されます。 このメソッドは、主にLayoutManager
がそのベースラインに沿ってコンポーネントを配置するために使用します。 戻り値が0より小さい場合、このコンポーネントのベースラインは適切ではありません。LayoutManager
は、そのベースライン上にこのコンポーネントを配置しないでください。このメソッドは -1を返します。 意味のあるベースラインを持つサブクラスで適切にオーバーライドするべきです。
- パラメータ:
c
- ベースラインが要求されるJComponent
width
- ベースラインを取得する幅height
- ベースラインを取得する高さ- 戻り値:
- ベースラインまたは0より小さい値(適切なベースラインがないことを示す)
- 例外:
NullPointerException
-c
がnull
である場合IllegalArgumentException
- 幅または高さが0より小さい場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c) サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。 このメソッドは、主にレイアウト・マネージャとGUIビルダーで使用されます。このメソッドは
BaselineResizeBehavior.OTHER
を返します。 ベースラインをサポートするサブクラスで、適切にオーバーライドするべきです。- パラメータ:
c
- ベースラインのサイズ変更の動作を返すJComponent
- 戻り値:
- コンポーネント・サイズの変化に合わせてベースラインがどのように変化するかを示す列挙
- 例外:
NullPointerException
-c
がnull
である場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getAccessibleChildrenCount
public int getAccessibleChildrenCount(JComponent c) オブジェクト内のアクセシビリティ対応の子の数を返します。 このオブジェクトのすべての子がAccessible
インタフェースを実装している場合、このメソッドはこのオブジェクトの子の数を返すべきです。 UIが、画面上にコンポーネントとして表示される領域は提供するが、実際のコンポーネントがこの領域を提供するために使用されない場合、UIにおいて必要に応じてこのメソッドをオーバーライドできます。 ノート: バージョン1.3以降は、このメソッドの代わりにComponent.AccessibleAWTComponent.getAccessibleChildrenCount()
を呼び出すことをお勧めします。- パラメータ:
c
- アクセス可能な子の数を取得するJComponent
- 戻り値:
- オブジェクト内のアクセシビリティ対応の子の数
- 関連項目:
-
getAccessibleChild
public Accessible getAccessibleChild(JComponent c, int i) オブジェクトのi
番目のAccessible
の子を返します。 UIが、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UIは必要に応じてこのメソッドをオーバーライドします。ノート: バージョン1.3以降は、このメソッドの代わりに
Component.AccessibleAWTComponent.getAccessibleChild()
を呼び出すことをお勧めします。- パラメータ:
c
- 子オブジェクトを取得するためのJComponent
i
- 子のゼロから始まるインデックス- 戻り値:
- オブジェクトの
i
番目のAccessible
の子 - 関連項目:
-