JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.plaf.basic
クラス BasicComboBoxUI

java.lang.Object
  |
  +--javax.swing.plaf.ComponentUI
        |
        +--javax.swing.plaf.ComboBoxUI
              |
              +--javax.swing.plaf.basic.BasicComboBoxUI
直系の既知のサブクラス:
MetalComboBoxUI

public class BasicComboBoxUI
extends ComboBoxUI

JComboBox の基本的な UI です。このクラスは、JComboBox からコンポーネントを追加および削除します。矢印ボタンおよびエディタが、このオブジェクトによって管理されます。ポップアップメニューは、BasicComboPopup が扱います。BasicComboPopup は、このクラスを MouseListener、MouseMotionListener、および KeyListener とともに提供します。こうした各リスナーは、矢印ボタンおよび JComboBox にデフォルトで追加されます。BasicComboBoxUI のサブクラスは、リスナーを任意のコンポーネントに接続することができます。 installListeners() で、リスナーを JComboBox (とモデル) に追加します。configureEditor() で、リスナーをエディタに追加します。configureArrowButton() で、リスナーを矢印ボタンに追加します。 イベントを処理する内部クラスは、以下のとおりです。FocusHandler ItemHandler ListDataHandler PropertyChangeHandler KeyHandler


内部クラスの概要
 class BasicComboBoxUI.ComboBoxLayoutManager
          このレイアウトマネージャは、コンボボックスの標準的なレイアウトを扱います。
 class BasicComboBoxUI.FocusHandler
          このリスナーは、フォーカスを失うときポップアップを隠します。
 class BasicComboBoxUI.ItemHandler
          このリスナーは、コンボボックスの選択内容の変更を監視して、現在選択されている項目の表示を更新します。
 class BasicComboBoxUI.KeyHandler
          このリスナーは、キーイベントがナビゲーションキーでないかどうかを調べます。
 class BasicComboBoxUI.ListDataHandler
          このリスナーは、データ内の変更を監視して検証をやり直します。
 class BasicComboBoxUI.PropertyChangeHandler
          このリスナーは、JComboBox 内で変更されたバウンドプロパティを監視します。
 
フィールドの概要
protected  JButton arrowButton
           
protected  Dimension cachedMinimumSize
           
protected  JComboBox comboBox
           
protected  CellRendererPane currentValuePane
           
protected  Component editor
           
protected  FocusListener focusListener
           
protected  boolean hasFocus
           
protected  boolean isMinimumSizeDirty
           
protected  ItemListener itemListener
           
protected  KeyListener keyListener
           
protected  JList listBox
           
protected  ListDataListener listDataListener
           
protected  ComboPopup popup
           
protected  KeyListener popupKeyListener
           
protected  MouseListener popupMouseListener
           
protected  MouseMotionListener popupMouseMotionListener
           
protected  PropertyChangeListener propertyChangeListener
           
 
コンストラクタの概要
BasicComboBoxUI()
           
 
メソッドの概要
 void addEditor()
          JComboBox にエディタを追加します。
 void configureArrowButton()
          矢印ボタンを構成します。
protected  void configureEditor()
          エディタを構成します。
protected  JButton createArrowButton()
          矢印ボタンを作成します。
protected  ComboBoxEditor createEditor()
          編集可能なコンボボックスで使うエディタを作成します。
protected  FocusListener createFocusListener()
          フォーカスを失ったときにポップアップを隠すフォーカスリスナーを作成します。
protected  ItemListener createItemListener()
          現在選択されているものの変更を監視して、表示を更新する項目リスナーを作成します。
protected  KeyListener createKeyListener()
          タイプ入力を扱うキーリスナーを作成します。
protected  LayoutManager createLayoutManager()
          右に矢印ボタン、左にエディタが配置された標準的なコンボボックスのレイアウトマネージャを作成します。
protected  ListDataListener createListDataListener()
          適切なサイズをキャッシュに格納するために使うリストデータリスナーを作成します。
protected  ComboPopup createPopup()
          ComboPopup インタフェースの実装を作成します。
protected  PropertyChangeListener createPropertyChangeListener()
          適切なサイズをキャッシュに格納するために使うリストデータリスナーを作成します。
protected  ListCellRenderer createRenderer()
          コンボボックスで使うレンダリングを作成します。
static ComponentUI createUI(JComponent c)
           
 Accessible getAccessibleChild(JComponent c, int i)
          オブジェクト内の n 番目のユーザ補助機能を持つ子を返します。
 int getAccessibleChildrenCount(JComponent c)
          オブジェクト内のユーザ補助機能を実装する子の数を返します。
protected  Dimension getDefaultSize()
          空のコンボボックスのデフォルトサイズを返します。
protected  Dimension getDisplaySize()
           
protected  Insets getInsets()
          JComboBox からインセットを取得します。
 Dimension getMaximumSize(JComponent c)
           
 Dimension getMinimumSize(JComponent c)
           
 Dimension getPreferredSize(JComponent c)
           
protected  void installComponents()
          ここで、JComboBox にエディタおよび矢印ボタンが追加されます。
protected  void installDefaults()
          JComboBox に、デフォルトのカラー、フォント、レンダリング、およびエディタをインストールします。
protected  void installKeyboardActions()
          JComboBox にキーボードアクションを追加します。
protected  void installListeners()
          JComboBox および JComboBoxModel にリスナーを接続します。
 void installUI(JComponent c)
           
 boolean isFocusTraversable(JComboBox c)
          JComboBox が、フォーカスのトラバースが可能であるかどうかを判定します。
protected  boolean isNavigationKey(int keyCode)
          提供された keyCode について、ナビゲーションに使うキーにマップするかどうかを返します。
 boolean isPopupVisible(JComboBox c)
          ポップアップが可視かどうかを判定します。
 void paint(Graphics g, JComponent c)
           
 void paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)
          現在選択されている項目を描画します。
 void paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)
          現在選択されている項目のバックグラウンドを描画します。
protected  Rectangle rectangleForCurrentValue()
          現在選択されている項目を描画するために予約されている領域を返します。
 void removeEditor()
          JComboBox からエディタを削除します。
protected  void selectNextPossibleValue()
          リストから次の項目を選択します。
protected  void selectPreviousPossibleValue()
          リストから 1 つ前の項目を選択します。
 void setPopupVisible(JComboBox c, boolean v)
          ポップアップを隠します。
protected  void toggleOpenClose()
          ポップアップが表示されている場合はそれを隠し、隠されている場合はそれを表示します。
 void unconfigureArrowButton()
          矢印ボタンからリスナーを削除して、矢印ボタンの構成を解除します。
protected  void unconfigureEditor()
          エディタからリスナーを削除して、エディタの構成を解除します。
protected  void uninstallComponents()
          ここで、JComboBox からエディタまたは矢印ボタン、あるいはその両方が削除されます。
protected  void uninstallDefaults()
          JComboBox から、デフォルトのカラー、フォント、レンダリング、およびエディタをアンインストールします。
protected  void uninstallKeyboardActions()
          フォーカス InputMap および ActionMap を削除します。
protected  void uninstallListeners()
          JComboBox および JComboBoxModel からリスナーを削除します。
 void uninstallUI(JComponent c)
           
 
クラス javax.swing.plaf.ComponentUI から継承したメソッド
contains, update
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

comboBox

protected JComboBox comboBox

hasFocus

protected boolean hasFocus

listBox

protected JList listBox

currentValuePane

protected CellRendererPane currentValuePane

popup

protected ComboPopup popup

editor

protected Component editor

arrowButton

protected JButton arrowButton

keyListener

protected KeyListener keyListener

focusListener

protected FocusListener focusListener

itemListener

protected ItemListener itemListener

propertyChangeListener

protected PropertyChangeListener propertyChangeListener

popupMouseListener

protected MouseListener popupMouseListener

popupMouseMotionListener

protected MouseMotionListener popupMouseMotionListener

popupKeyListener

protected KeyListener popupKeyListener

listDataListener

protected ListDataListener listDataListener

isMinimumSizeDirty

protected boolean isMinimumSizeDirty

cachedMinimumSize

protected Dimension cachedMinimumSize
コンストラクタの詳細

BasicComboBoxUI

public BasicComboBoxUI()
メソッドの詳細

createUI

public static ComponentUI createUI(JComponent c)

installUI

public void installUI(JComponent c)
オーバーライド:
クラス ComponentUI 内の installUI

uninstallUI

public void uninstallUI(JComponent c)
オーバーライド:
クラス ComponentUI 内の uninstallUI

installDefaults

protected void installDefaults()
JComboBox に、デフォルトのカラー、フォント、レンダリング、およびエディタをインストールします。

installListeners

protected void installListeners()
JComboBox および JComboBoxModel にリスナーを接続します。

uninstallDefaults

protected void uninstallDefaults()
JComboBox から、デフォルトのカラー、フォント、レンダリング、およびエディタをアンインストールします。

uninstallListeners

protected void uninstallListeners()
JComboBox および JComboBoxModel からリスナーを削除します。

createPopup

protected ComboPopup createPopup()
ComboPopup インタフェースの実装を作成します。BasicComboPopup のインスタンスを返します。

createKeyListener

protected KeyListener createKeyListener()
タイプ入力を扱うキーリスナーを作成します。BasicComboBoxUI$KeyHandler のインスタンスを返します。

createFocusListener

protected FocusListener createFocusListener()
フォーカスを失ったときにポップアップを隠すフォーカスリスナーを作成します。BasicComboBoxUI$FocusHandler のインスタンスを返します。

createListDataListener

protected ListDataListener createListDataListener()
適切なサイズをキャッシュに格納するために使うリストデータリスナーを作成します。BasicComboBoxUI$ListDataHandler のインスタンスを返します。

createItemListener

protected ItemListener createItemListener()
現在選択されているものの変更を監視して、表示を更新する項目リスナーを作成します。BasicComboBoxUI$ItemHandler のインスタンスを返します。

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
適切なサイズをキャッシュに格納するために使うリストデータリスナーを作成します。BasicComboBoxUI$PropertyChangeHandler のインスタンスを返します。

createLayoutManager

protected LayoutManager createLayoutManager()
右に矢印ボタン、左にエディタが配置された標準的なコンボボックスのレイアウトマネージャを作成します。BasicComboBoxUI$ComboBoxLayoutManager のインスタンスを返します。

createRenderer

protected ListCellRenderer createRenderer()
コンボボックスで使うレンダリングを作成します。カスタムレンダリングが JComboBox にインストールされていない場合にだけ、このメソッドが呼び出されます。

createEditor

protected ComboBoxEditor createEditor()
編集可能なコンボボックスで使うエディタを作成します。カスタムエディタが JComboBox にインストールされていない場合にだけ、このメソッドが呼び出されます。

installComponents

protected void installComponents()
ここで、JComboBox にエディタおよび矢印ボタンが追加されます。

uninstallComponents

protected void uninstallComponents()
ここで、JComboBox からエディタまたは矢印ボタン、あるいはその両方が削除されます。このメソッドは JComboBox で removeAll() を呼び出して、すべてが削除されるようにします。

addEditor

public void addEditor()
JComboBox にエディタを追加します。

removeEditor

public void removeEditor()
JComboBox からエディタを削除します。また、unconfigureEditor() を呼び出します。

configureEditor

protected void configureEditor()
エディタを構成します。エディタのフォントを設定し、リスナーを追加します。

unconfigureEditor

protected void unconfigureEditor()
エディタからリスナーを削除して、エディタの構成を解除します。

configureArrowButton

public void configureArrowButton()
矢印ボタンを構成します。矢印ボタンにリスナーを追加します。

unconfigureArrowButton

public void unconfigureArrowButton()
矢印ボタンからリスナーを削除して、矢印ボタンの構成を解除します。

createArrowButton

protected JButton createArrowButton()
矢印ボタンを作成します。サブクラスは、任意のボタンを作成できます。このクラスのデフォルトの動作では、このメソッドが返すボタンにさまざまなリスナーを接続します。BasicArrowButton のインスタンスを返します。

isPopupVisible

public boolean isPopupVisible(JComboBox c)
ポップアップが可視かどうかを判定します。
オーバーライド:
クラス ComboBoxUI 内の isPopupVisible

setPopupVisible

public void setPopupVisible(JComboBox c,
                            boolean v)
ポップアップを隠します。
オーバーライド:
クラス ComboBoxUI 内の setPopupVisible

isFocusTraversable

public boolean isFocusTraversable(JComboBox c)
JComboBox が、フォーカスのトラバースが可能であるかどうかを判定します。JComboBox が編集可能な場合は、false を返します。そうでない場合は true を返します。
オーバーライド:
クラス ComboBoxUI 内の isFocusTraversable

paint

public void paint(Graphics g,
                  JComponent c)
オーバーライド:
クラス ComponentUI 内の paint

getPreferredSize

public Dimension getPreferredSize(JComponent c)
オーバーライド:
クラス ComponentUI 内の getPreferredSize

getMinimumSize

public Dimension getMinimumSize(JComponent c)
オーバーライド:
クラス ComponentUI 内の getMinimumSize

getMaximumSize

public Dimension getMaximumSize(JComponent c)
オーバーライド:
クラス ComponentUI 内の getMaximumSize

getAccessibleChildrenCount

public int getAccessibleChildrenCount(JComponent c)
クラス ComponentUI の記述:
オブジェクト内のユーザ補助機能を実装する子の数を返します。このオブジェクトのすべての子が Accessible インタフェースを実装している場合、このメソッドはこのオブジェクトの子の数を返します。UI が、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UI において必要に応じてこのメソッドをオーバーライドできます。 注: Java 2 プラットフォーム v1.3 では、開発者はこのメソッドを使用する代わりに、Component.AccessibleAWTComponent.getAccessibleChildrenCount() を呼び出すことをお勧めします。
オーバーライド:
クラス ComponentUI 内の getAccessibleChildrenCount
クラス javax.swing.plaf.ComponentUI からコピーされたタグ:
戻り値:
オブジェクト内のユーザ補助の子の数
関連項目:
ComponentUI.getAccessibleChild(javax.swing.JComponent, int)

getAccessibleChild

public Accessible getAccessibleChild(JComponent c,
                                     int i)
クラス ComponentUI の記述:
オブジェクト内の n 番目のユーザ補助機能を持つ子を返します。UI が、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UI において必要に応じてこのメソッドをオーバーライドできます。 注: Java 2 プラットフォーム v1.3 では、開発者はこのメソッドを使用する代わりに、Component.AccessibleAWTComponent.getAccessibleChild() を呼び出すことをお勧めします。
オーバーライド:
クラス ComponentUI 内の getAccessibleChild
クラス javax.swing.plaf.ComponentUI からコピーされたタグ:
パラメータ:
i - 子のゼロから始まるインデックス
戻り値:
オブジェクトのユーザ補助機能を実装する n 番目の子
関連項目:
ComponentUI.getAccessibleChildrenCount(javax.swing.JComponent)

isNavigationKey

protected boolean isNavigationKey(int keyCode)
提供された keyCode について、ナビゲーションに使うキーにマップするかどうかを返します。これは、タイプ入力機構にナビゲーションキー以外のキーを渡すだけで、キー入力を最適化するために使います。サブクラスがナビゲーションキーを変更する場合は、これをオーバーライドする必要があります。

selectNextPossibleValue

protected void selectNextPossibleValue()
リストから次の項目を選択します。現在選択されている項目が最後の項目である場合は、選択はそのままです。

selectPreviousPossibleValue

protected void selectPreviousPossibleValue()
リストから 1 つ前の項目を選択します。現在選択されている項目が最初の項目である場合は、選択はそのままです。

toggleOpenClose

protected void toggleOpenClose()
ポップアップが表示されている場合はそれを隠し、隠されている場合はそれを表示します。

rectangleForCurrentValue

protected Rectangle rectangleForCurrentValue()
現在選択されている項目を描画するために予約されている領域を返します。

getInsets

protected Insets getInsets()
JComboBox からインセットを取得します。

paintCurrentValue

public void paintCurrentValue(Graphics g,
                              Rectangle bounds,
                              boolean hasFocus)
現在選択されている項目を描画します。

paintCurrentValueBackground

public void paintCurrentValueBackground(Graphics g,
                                        Rectangle bounds,
                                        boolean hasFocus)
現在選択されている項目のバックグラウンドを描画します。

getDefaultSize

protected Dimension getDefaultSize()
空のコンボボックスのデフォルトサイズを返します。

getDisplaySize

protected Dimension getDisplaySize()

installKeyboardActions

protected void installKeyboardActions()
JComboBox にキーボードアクションを追加します。Enter キーおよび Esc キーについてのアクションは、すでに提供されています。必要に応じてアクションを追加してください。

uninstallKeyboardActions

protected void uninstallKeyboardActions()
フォーカス InputMap および ActionMap を削除します。

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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