public abstract class ComponentUI extends Object
JComponentクラスは、インストールしたLook & Feelによって異なる可能性があるオペレーション(ペイント、レイアウトの計算など)を委譲するために、このクラスからメソッドを呼び出します。 クライアントのプログラムは、直接このクラスのメソッドを呼び出すべきではありません。 JComponent, UIManager| コンストラクタ | 説明 |
|---|---|
ComponentUI() |
唯一のコンストラクタです。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
boolean |
contains(JComponent c, int x, int y) |
指定された x,yの位置が、指定されたコンポーネントのLook & Feel定義の形状内にある場合は、
trueを返します。 |
static ComponentUI |
createUI(JComponent c) |
指定されたコンポーネントのUI委譲のインスタンスを返します。
|
Accessible |
getAccessibleChild(JComponent c, int i) |
オブジェクトの
i番目のAccessibleの子を返します。 |
int |
getAccessibleChildrenCount(JComponent c) |
オブジェクト内のアクセシビリティ対応の子の数を返します。
|
int |
getBaseline(JComponent c, int width, int height) |
ベースラインを返します。
|
Component.BaselineResizeBehavior |
getBaselineResizeBehavior(JComponent c) |
サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。
|
Dimension |
getMaximumSize(JComponent c) |
指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。
|
Dimension |
getMinimumSize(JComponent c) |
指定されたコンポーネントの、Look & Feelに適した最小サイズを返します。
|
Dimension |
getPreferredSize(JComponent c) |
指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。
|
void |
installUI(JComponent c) |
指定されたコンポーネントをLook & Feelに応じて適切に構成します。
|
void |
paint(Graphics g, JComponent c) |
指定されたコンポーネントをLook & Feelに合わせてペイントします。
|
void |
uninstallUI(JComponent c) |
installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。 |
void |
update(Graphics g, JComponent c) |
指定されたコンポーネントをペイントする時間になったことを、このUI委譲に通知します。
|
public void installUI(JComponent c)
ComponentUIインスタンスが、指定されたコンポーネントのUI委譲としてインストールされているときに呼び出されます。 このメソッドは、次を含むLook & Feel用のコンポーネントを完全に構成するべきです。
LayoutManagerをインストールする。
PropertyChangeListenerを作成してコンポーネントにインストールする。
c - UI委譲がインストールされるコンポーネントuninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()public void uninstallUI(JComponent c)
installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。 このメソッドは、このUIComponentインスタンスが、指定されたコンポーネントのUI委譲として削除されているときに呼び出されます。 このメソッドは、installUIによって実行された構成を元に戻すべきです。この場合、JComponentインスタンスをクリーンな状態(余分なリスナーや、Look & Feel固有のプロパティ・オブジェクトが残らないように)にするよう十分注意してください。 手順には次のものが含まれるべきです。
c - このUI委譲が削除されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがあるinstallUI(javax.swing.JComponent), JComponent.updateUI()public void paint(Graphics g, JComponent c)
ComponentUI.updateメソッドから呼び出されます。 サブクラスは、このメソッドをオーバーライドして、指定されたGraphicsオブジェクトを使ってコンポーネントの内容を描画するべきです。 g - ペイント対象のGraphicsコンテキストc - ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがあるupdate(java.awt.Graphics, javax.swing.JComponent)public void update(Graphics g, JComponent c)
JComponentによって呼び出されます。
デフォルトでは、このメソッドは、指定されたコンポーネントのopaqueプロパティがtrueの場合に、コンポーネントをそのバックグラウンド・カラーで塗りつぶし、すぐにpaintを呼び出します。 一般的に、このメソッドはサブクラスによってオーバーライドする必要はありません。すべてのLook & Feel描画コードはpaintメソッド内に存在する必要があります。
g - ペイント対象のGraphicsコンテキストc - ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがあるpaint(java.awt.Graphics, javax.swing.JComponent), JComponent.paintComponent(java.awt.Graphics)public Dimension getPreferredSize(JComponent c)
nullが返された場合、適切なサイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はnullを返します。 c - 推奨サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがあるJComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)public Dimension getMinimumSize(JComponent c)
nullが返された場合、最小サイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はgetPreferredSizeを呼び出して、その値を返します。 c - 最小サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがあるDimensionオブジェクトまたはnullJComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), getPreferredSize(javax.swing.JComponent)public Dimension getMaximumSize(JComponent c)
nullが返された場合、最大サイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はgetPreferredSizeを呼び出して、その値を返します。 c - 最大サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがあるDimensionオブジェクトまたはnullJComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)public boolean contains(JComponent c, int x, int y)
trueを返します。xとyは、指定されたコンポーネントの座標体系を基準に定義されます。 コンポーネントのboundsは矩形に制限されますが、このメソッドはヒットの検出のためにこれらの境界内で矩形以外の形状を定義する方法を提供します。 c - x,yの位置が照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントに共有されている場合は使用されることがあるx - 点のx座標y - 点のy座標JComponent.contains(int, int), Component.contains(int, int)public static ComponentUI createUI(JComponent c)
createUIメソッドを提供して、そのUI委譲のサブクラスのインスタンスを返す必要があります。 UI委譲のサブクラスがステートレスの場合、複数のコンポーネントに共有されるインスタンスを返します。 UI委譲がステートフルの場合、コンポーネントごとに新しいインスタンスを返す必要があります。 このメソッドは呼び出してはいけないため、そのデフォルト実装はエラーをスローします。 public int getBaseline(JComponent c, int width, int height)
LayoutManagerがそのベースラインに沿ってコンポーネントを配置するために使用します。 戻り値が0より小さい場合、このコンポーネントのベースラインは適切ではありません。LayoutManagerは、そのベースライン上にこのコンポーネントを配置しないでください。
このメソッドは -1を返します。 意味のあるベースラインを持つサブクラスで適切にオーバーライドするべきです。
c - ベースラインが要求されるJComponentwidth - ベースラインを取得する幅height - ベースラインを取得する高さNullPointerException - cがnullである場合IllegalArgumentException - 幅または高さが0より小さい場合JComponent.getBaseline(int,int)public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
このメソッドはBaselineResizeBehavior.OTHERを返します。 ベースラインをサポートするサブクラスで、適切にオーバーライドするべきです。
c - ベースラインのサイズ変更の動作を返すJComponentNullPointerException - cがnullである場合JComponent.getBaseline(int, int)public int getAccessibleChildrenCount(JComponent c)
Accessibleインタフェースを実装している場合、このメソッドはこのオブジェクトの子の数を返すべきです。 UIが、画面上にコンポーネントとして表示される領域は提供するが、実際のコンポーネントがこの領域を提供するために使用されない場合、UIにおいて必要に応じてこのメソッドをオーバーライドできます。 ノート: バージョン1.3以降は、このメソッドの代わりにComponent.AccessibleAWTComponent.getAccessibleChildrenCount()を呼び出すことをお勧めします。 getAccessibleChild(javax.swing.JComponent, int)public Accessible getAccessibleChild(JComponent c, int i)
i番目のAccessibleの子を返します。 UIが、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UIは必要に応じてこのメソッドをオーバーライドします。
ノート: バージョン1.3以降は、このメソッドの代わりにComponent.AccessibleAWTComponent.getAccessibleChild()を呼び出すことをお勧めします。
i - 子のゼロから始まるインデックスi番目のAccessibleの子getAccessibleChildrenCount(javax.swing.JComponent) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。