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
オブジェクトまたは null
JComponent.getMinimumSize()
, LayoutManager.minimumLayoutSize(java.awt.Container)
, getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
null
が返された場合、最大サイズは代わりにコンポーネントのレイアウトマネージャーによって計算されます (これは、特定のレイアウトマネージャーをインストールしてあるコンポーネントの場合に推奨する方法です)。このメソッドのデフォルト実装は getPreferredSize
を呼び出して、その値を返します。c
- 最大サイズが照会されるコンポーネント。この引数は通常無視されるが、UI オブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがあるDimension
オブジェクトまたは null
JComponent.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
- ベースラインが要求される JComponent
width
- ベースラインを取得する幅height
- ベースラインを取得する高さNullPointerException
- c
が null
である場合IllegalArgumentException
- 幅または高さが 0 より小さい場合JComponent.getBaseline(int,int)
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
このメソッドは BaselineResizeBehavior.OTHER
を返します。ベースラインをサポートするサブクラスで、適切にオーバーライドするべきです。
c
- ベースラインのサイズ変更の動作を返す JComponent
NullPointerException
- 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, 2013, Oracle and/or its affiliates. All rights reserved.