JavaTM 2
Platform
Std. Ed. v1.4.0

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)
          オブジェクト内のユーザ補助の子の数を返します。
 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 委譲が状態ありの場合、コンポーネントごとに新しいインスタンスを返す必要があります。このメソッドは呼び出してはいけないため、そのデフォルト実装はエラーをスローします。


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.getAccessibleChildrenCount() を呼び出すことが推奨されています。

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.