- 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によって異なる可能性があるオペレーション(ペイント、レイアウトの計算など)を委譲するために、このクラスからメソッドを呼び出します。 クライアントのプログラムは、直接このクラスのメソッドを呼び出すべきではありません。- 関連項目:
JComponent,UIManager
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ComponentUI()唯一のコンストラクタです。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 booleancontains(JComponent c, int x, int y)指定された x,yの位置が、指定されたコンポーネントのLook & Feel定義の形状内にある場合は、trueを返します。static ComponentUIcreateUI(JComponent c)指定されたコンポーネントのUI委譲のインスタンスを返します。AccessiblegetAccessibleChild(JComponent c, int i)オブジェクトのi番目のAccessibleの子を返します。intgetAccessibleChildrenCount(JComponent c)オブジェクト内のアクセシビリティ対応の子の数を返します。intgetBaseline(JComponent c, int width, int height)ベースラインを返します。Component.BaselineResizeBehaviorgetBaselineResizeBehavior(JComponent c)サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。DimensiongetMaximumSize(JComponent c)指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。DimensiongetMinimumSize(JComponent c)指定されたコンポーネントの、Look & Feelに適した最小サイズを返します。DimensiongetPreferredSize(JComponent c)指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。voidinstallUI(JComponent c)指定されたコンポーネントをLook & Feelに応じて適切に構成します。voidpaint(Graphics g, JComponent c)指定されたコンポーネントをLook & Feelに合わせてペイントします。voiduninstallUI(JComponent c)installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。voidupdate(Graphics g, JComponent c)指定されたコンポーネントをペイントする時間になったことを、このUI委譲に通知します。
-
-
-
メソッドの詳細
-
installUI
public void installUI(JComponent c)
指定されたコンポーネントをLook & Feelに応じて適切に構成します。 このメソッドは、ComponentUIインスタンスが、指定されたコンポーネントのUI委譲としてインストールされているときに呼び出されます。 このメソッドは、次を含むLook & Feel用のコンポーネントを完全に構成するべきです。- カラー、フォント、ボーダー、アイコン、不透明さなどのデフォルト・プロパティ値をコンポーネントにインストールする。 可能な場合は常に、クライアント・プログラムによって初期化されたプロパティの値をオーバーライドするべきではない。
- 必要に応じて、コンポーネントに
LayoutManagerをインストールする。 - 必要なサブコンポーネントを作成して、コンポーネントに追加する。
- イベント・リスナーを作成して、コンポーネントにインストールする。
- コンポーネントのプロパティの変更を適切に検出し、応答するために、
PropertyChangeListenerを作成してコンポーネントにインストールする。 - キーボードUI (ニーモニック、トラバーサルなど)を、コンポーネントにインストールする。
- 適切なインスタンスのデータを初期化する。
- パラメータ:
c- UI委譲がインストールされるコンポーネント- 関連項目:
uninstallUI(javax.swing.JComponent),JComponent.setUI(javax.swing.plaf.ComponentUI),JComponent.updateUI()
-
uninstallUI
public void uninstallUI(JComponent c)
installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。 このメソッドは、このUIComponentインスタンスが、指定されたコンポーネントのUI委譲として削除されているときに呼び出されます。 このメソッドは、installUIによって実行された構成を元に戻すべきです。この場合、JComponentインスタンスをクリーンな状態(余分なリスナーや、Look & Feel固有のプロパティ・オブジェクトが残らないように)にするよう十分注意してください。 手順には次のものが含まれるべきです。- UIとして設定されたすべてのボーダーを、コンポーネントから削除する。
- UIとして設定されたすべてのレイアウト・マネージャを、コンポーネントから削除する。
- UIとして追加されたすべてのサブコンポーネントを、コンポーネントから削除する。
- UIとして追加されたすべてのイベント/プロパティ・リスナーを、コンポーネントから削除する。
- UIとしてインストールされたすべてのキーボードUIを、コンポーネントから削除する。
- GCの対象になるように、割り当てられたすべてのインスタンス・データ・オブジェクトをnullに設定する。
- パラメータ:
c- このUI委譲が削除されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
installUI(javax.swing.JComponent),JComponent.updateUI()
-
paint
public void paint(Graphics g, JComponent c)
指定されたコンポーネントをLook & Feelに合わせてペイントします。 このメソッドは、指定されたコンポーネントがペイントされるときにComponentUI.updateメソッドから呼び出されます。 サブクラスは、このメソッドをオーバーライドして、指定されたGraphicsオブジェクトを使ってコンポーネントの内容を描画するべきです。- パラメータ:
g- ペイント対象のGraphicsコンテキストc- ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
update(java.awt.Graphics, javax.swing.JComponent)
-
update
public void update(Graphics g, JComponent c)
指定されたコンポーネントをペイントする時間になったことを、このUI委譲に通知します。 このメソッドは、指定されたコンポーネントがペイントされるときにJComponentによって呼び出されます。デフォルトでは、このメソッドは、指定されたコンポーネントの
opaqueプロパティがtrueの場合に、コンポーネントをそのバックグラウンド・カラーで塗りつぶし、すぐにpaintを呼び出します。 一般的に、このメソッドはサブクラスによってオーバーライドする必要はありません。すべてのLook & Feel描画コードはpaintメソッド内に存在する必要があります。- パラメータ:
g- ペイント対象のGraphicsコンテキストc- ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
paint(java.awt.Graphics, javax.swing.JComponent),JComponent.paintComponent(java.awt.Graphics)
-
getPreferredSize
public Dimension getPreferredSize(JComponent c)
指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。nullが返された場合、適切なサイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はnullを返します。- パラメータ:
c- 推奨サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 戻り値:
- Look&Feelに適した指定されたコンポーネントの優先サイズを含む
Dimensionオブジェクト - 関連項目:
JComponent.getPreferredSize(),LayoutManager.preferredLayoutSize(java.awt.Container)
-
getMinimumSize
public Dimension getMinimumSize(JComponent c)
指定されたコンポーネントの、Look & Feelに適した最小サイズを返します。nullが返された場合、最小サイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はgetPreferredSizeを呼び出して、その値を返します。- パラメータ:
c- 最小サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 戻り値:
Dimensionオブジェクトまたはnull- 関連項目:
JComponent.getMinimumSize(),LayoutManager.minimumLayoutSize(java.awt.Container),getPreferredSize(javax.swing.JComponent)
-
getMaximumSize
public Dimension getMaximumSize(JComponent c)
指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。nullが返された場合、最大サイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はgetPreferredSizeを呼び出して、その値を返します。- パラメータ:
c- 最大サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 戻り値:
Dimensionオブジェクトまたはnull- 関連項目:
JComponent.getMaximumSize(),LayoutManager2.maximumLayoutSize(java.awt.Container)
-
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のロケーションが、指定されたコンポーネントのルック・アンド・フィールの定義されたシェイプに含まれている場合- 関連項目:
JComponent.contains(int, int),Component.contains(int, int)
-
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- ベースラインが要求されるJComponentwidth- ベースラインを取得する幅height- ベースラインを取得する高さ- 戻り値:
- ベースラインまたは0より小さい値(適切なベースラインがないことを示す)
- 例外:
NullPointerException-cがnullである場合IllegalArgumentException- 幅または高さが0より小さい場合- 導入されたバージョン:
- 1.6
- 関連項目:
JComponent.getBaseline(int,int)
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。 このメソッドは、主にレイアウト・マネージャとGUIビルダーで使用されます。このメソッドは
BaselineResizeBehavior.OTHERを返します。 ベースラインをサポートするサブクラスで、適切にオーバーライドするべきです。- パラメータ:
c- ベースラインのサイズ変更の動作を返すJComponent- 戻り値:
- コンポーネント・サイズの変化に合わせてベースラインがどのように変化するかを示す列挙
- 例外:
NullPointerException-cがnullである場合- 導入されたバージョン:
- 1.6
- 関連項目:
JComponent.getBaseline(int, int)
-
getAccessibleChildrenCount
public int getAccessibleChildrenCount(JComponent c)
オブジェクト内のアクセシビリティ対応の子の数を返します。 このオブジェクトのすべての子がAccessibleインタフェースを実装している場合、このメソッドはこのオブジェクトの子の数を返すべきです。 UIが、画面上にコンポーネントとして表示される領域は提供するが、実際のコンポーネントがこの領域を提供するために使用されない場合、UIにおいて必要に応じてこのメソッドをオーバーライドできます。 注: バージョン1.3以降は、このメソッドの代わりにComponent.AccessibleAWTComponent.getAccessibleChildrenCount()を呼び出すことをお勧めします。- パラメータ:
c- アクセス可能な子の数を取得するJComponent- 戻り値:
- オブジェクト内のアクセシビリティ対応の子の数
- 関連項目:
getAccessibleChild(javax.swing.JComponent, int)
-
getAccessibleChild
public Accessible getAccessibleChild(JComponent c, int i)
オブジェクトのi番目のAccessibleの子を返します。 UIが、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UIは必要に応じてこのメソッドをオーバーライドします。注: バージョン1.3以降は、このメソッドの代わりに
Component.AccessibleAWTComponent.getAccessibleChild()を呼び出すことをお勧めします。- パラメータ:
c- 子オブジェクトを取得するためのJComponenti- 子のゼロから始まるインデックス- 戻り値:
- オブジェクトの
i番目のAccessibleの子 - 関連項目:
getAccessibleChildrenCount(javax.swing.JComponent)
-
-