JavaTM Platform
Standard Ed. 6

javax.swing.plaf
クラス ComponentUI

java.lang.Object
  上位を拡張 javax.swing.plaf.ComponentUI
直系の既知のサブクラス:
ButtonUI, ColorChooserUI, ComboBoxUI, DesktopIconUI, DesktopPaneUI, FileChooserUI, InternalFrameUI, LabelUI, 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()
          唯一のコンストラクタです。
 
メソッドの概要
 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 委譲に通知します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ComponentUI

public ComponentUI()
唯一のコンストラクタです。サブクラスのコンストラクタによる呼び出し用で、通常は暗黙的に呼び出されます。

メソッドの詳細

installUI

public void installUI(JComponent c)
Look & Feel に適した、指定されたコンポーネントを構成します。このメソッドは、ComponentUI インスタンスが、指定されたコンポーネントの UI 委譲としてインストールされているときに呼び出されます。このメソッドは、次を含む Look & Feel 用のコンポーネントを完全に構成する必要があります。
  1. カラー、フォント、ボーダー、アイコン、不透明さなどすべてのデフォルトプロパティーの値をコンポーネントにインストールする。可能な場合は、クライアントプログラムによって初期化されたプロパティーの値をオーバーライドしてはならない
  2. 必要に応じて、コンポーネントに LayoutManager をインストールする
  3. 必要なサブコンポーネントを、コンポーネントに作成または追加する
  4. イベントリスナーを、コンポーネントに作成またはインストールする
  5. コンポーネントのプロパティーの変更を適切に検出し、応答するために、PropertyChangeListener をコンポーネントに作成またはインストールする
  6. キーボード UI (ニーモニック、トラバーサルなど) を、コンポーネントにインストールする
  7. 適切なインスタンスのデータを初期化する

パラメータ:
c - UI 委譲がインストールされているコンポーネント
関連項目:
uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)
installUI 時に、指定されたコンポーネントで構成された内容を取り消します。このメソッドは、指定されたコンポーネントの UI 委譲としての UIComponent インスタンスが削除されているときに呼び出されます。このメソッドは、installUI によって実行された構成を元に戻す必要があります。この場合、JComponent インスタンスをクリーンな状態 (余分なリスナーや、Look & Feel 固有のプロパティーオブジェクトが残らないように) にするよう十分注意してください。手順には次のものがあります。
  1. UI として設定されたすべてのボーダーを、コンポーネントから削除する
  2. UI として設定されたすべてのレイアウトマネージャーを、コンポーネントから削除する
  3. UI として追加されたすべてのサブコンポーネントを、コンポーネントから削除する
  4. UI として追加されたすべてのイベント/リスナーを、コンポーネントから削除する
  5. UI としてインストールされたすべてのキーボード UI を、コンポーネントから削除する
  6. GC 用に割り当てられたすべてのインスタンスのデータオブジェクトを無効にする

パラメータ:
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 オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は 使用されることがある
関連項目:
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 を返します。xy は、指定されたコンポーネントの座標体系を基準に定義されます。コンポーネントの bounds は矩形に制限されますが、このメソッドはヒットの検出のためにこれらの境界内で矩形以外の形状を定義する方法を提供します。

パラメータ:
c - x,y の位置が照会されるコンポーネント。 この引数は通常無視されるが、 UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は 使用されることがある
x - 点の x 座標
y - 点の y 座標
関連項目:
JComponent.contains(int, int), Component.contains(int, int)

createUI

public static ComponentUI createUI(JComponent c)
指定されたコンポーネントの UI 委譲のインスタンスを返します。各サブクラスは、それ自体の静的な createUI メソッドを提供して、その UI 委譲のサブクラスのインスタンスを返す必要があります。UI 委譲のサブクラスが状態なしの場合、複数のコンポーネントに共有されるインスタンスを返します。UI 委譲が状態ありの場合、コンポーネントごとに新しいインスタンスを返す必要があります。このメソッドは呼び出してはいけないため、そのデフォルト実装はエラーをスローします。


getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)
ベースラインを返します。ベースラインは、コンポーネントの上端から測定されます。このメソッドは、主に LayoutManager がそのベースラインに沿ってコンポーネントを配置するために使用します。戻り値が 0 より小さい場合、このコンポーネントのベースラインは適切ではありません。LayoutManager は、そのベースライン上にこのコンポーネントを配置しません。

このメソッドは -1 を返します。意味のあるベースラインを持つサブクラスで適切にオーバーライドされます。

パラメータ:
c - 要求される JComponent ベースライン
width - ベースラインを取得する幅
height - ベースラインを取得する高さ
戻り値:
ベースラインまたは 0 より小さい値 (適切なベースラインがないことを示す)
例外:
NullPointerException - cnull の場合
IllegalArgumentException - 幅または高さが 0 より小さい場合
導入されたバージョン:
1.6
関連項目:
JComponent.getBaseline(int,int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。このメソッドは、主にレイアウトマネージャーと GUI ビルダーで使用されます。

このメソッドは BaselineResizeBehavior.OTHER を返します。ベースラインをサポートするサブクラスで、適切にオーバーライドされます。

パラメータ:
c - ベースラインのサイズ変更の動作を返す JComponent
戻り値:
コンポーネントのサイズが変化するにつれてベースラインが変化する方法の列挙
例外:
NullPointerException - cnull の場合
導入されたバージョン:
1.6
関連項目:
JComponent.getBaseline(int, int)

getAccessibleChildrenCount

public int getAccessibleChildrenCount(JComponent c)
オブジェクト内のアクセシビリティー対応の子の数を返します。このオブジェクトのすべての子が Accessible インタフェースを実装している場合、このメソッドはこのオブジェクトの子の数を返します。UI が、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UI において必要に応じてこのメソッドをオーバーライドできます。 注:バージョン 1.3 以降は、このメソッドの代わりに Component.AccessibleAWTComponent.getAccessibleChildrenCount() を呼び出すことが推奨されています。

戻り値:
オブジェクト内のアクセシビリティー対応の子の数
関連項目:
getAccessibleChild(javax.swing.JComponent, int)

getAccessibleChild

public Accessible getAccessibleChild(JComponent c,
                                     int i)
オブジェクトの i 番目の Accessible の子を返します。UI が、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UI は必要に応じてこのメソッドをオーバーライドします。

注:バージョン 1.3 以降は、このメソッドの代わりに Component.AccessibleAWTComponent.getAccessibleChild() を呼び出すことが推奨されています。

パラメータ:
i - ゼロから始まる子のインデックス
戻り値:
オブジェクト内の i 番目の Accessible の子
関連項目:
getAccessibleChildrenCount(javax.swing.JComponent)

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。