- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.ComboBoxUI
-
- javax.swing.plaf.basic.BasicComboBoxUI
-
- 直系の既知のサブクラス:
MetalComboBoxUI,SynthComboBoxUI
public class BasicComboBoxUI extends ComboBoxUI
JComboBoxの基本UI実装です。コンボボックスは、複合コンポーネント、つまり多くの単純なコンポーネントの集合です。 このクラスは、コンボボックスとコンボ・ボックス・モデル上のリスナーを作成し、管理します。 これらのリスナーは、コンボボックスの状態とプロパティにおける変更に応じて、ユーザー・インタフェースを更新します。
すべてのイベント処理は、
createxxxListener()の各メソッド、および内部クラスを使用して作成されたリスナー・クラスにより処理されます。 このクラスの動作を変更するには、createxxxListener()の各メソッドをオーバーライドした上で、独自のイベント・リスナーを提供するか、このクラスで提供されているイベント・リスナーからサブクラス化します。特定のアクションを追加するには、
installKeyboardActionsをオーバーライドして、KeyStrokeバインディングに応じてアクションを追加します。 記事「キー・バインディングの使用方法」を参照してください。
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 classBasicComboBoxUI.ComboBoxLayoutManagerこのレイアウト・マネージャは、コンボボックスの「標準」レイアウトを扱います。classBasicComboBoxUI.FocusHandlerフォーカスが失われたときに、このリスナーはポップアップを隠します。classBasicComboBoxUI.ItemHandlerこのリスナーは、コンボボックスの選択の変更を監視します。classBasicComboBoxUI.KeyHandlerこのリスナーは、キー・イベントがナビゲーション・キーでないかどうかを確認します。classBasicComboBoxUI.ListDataHandlerこのリスナーは、ComboBoxModel内での変更を監視します。classBasicComboBoxUI.PropertyChangeHandlerこのリスナーは、コンボボックス内で変更されたバウンド・プロパティを監視します。
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected JButtonarrowButtonポップアップを起動する矢印ボタン。protected DimensioncachedMinimumSizeキャッシュされた最小優先サイズ。protected JComboBox<Object>comboBoxJComboBoxのインスタンス。protected CellRendererPanecurrentValuePaneコンボ・ボックスで現在選択されているアイテムを描画するために使用されます。protected Componenteditor@{code ComboBoxEditor} が編集に使用するコンポーネント。protected FocusListenerfocusListenerこのprotectedフィールドは実装固有のものです。protected booleanhasFocusこのprotectedフィールドは実装固有のものです。protected booleanisMinimumSizeDirty最小優先サイズを再計算するためのフラグ。protected ItemListeneritemListenerこのprotectedフィールドは実装固有のものです。protected KeyListenerkeyListenerこのprotectedフィールドは実装固有のものです。protected JList<Object>listBoxこのリストは、現在のアイテムをコンボ・ボックスに描画するためのものです。protected ListDataListenerlistDataListenerこのprotectedフィールドは実装固有のものです。protected Insetspaddingこれらのイン・セットは、「選択された」項目をコンボボックスに配置し、ペイントする際に、セル・レンダラ周囲のパディングとして機能します。protected ComboPopuppopupポップアップを表示するために使用されるComboPopupの実装。protected KeyListenerpopupKeyListenerKeyListenerはイベントを待ち受けます。protected MouseListenerpopupMouseListenerMouseListenerはイベントを待ち受けます。protected MouseMotionListenerpopupMouseMotionListenerMouseMotionListenerはイベントを待ち受けます。protected PropertyChangeListenerpropertyChangeListenerこのprotectedフィールドは実装固有のものです。protected booleansquareButtonコンボボックス・ボタンを正方形にするべきかどうかを示します。
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 BasicComboBoxUI()
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidaddEditor()このpublicメソッドは実装固有のもので、privateであるべきです。voidconfigureArrowButton()このpublicメソッドは実装固有のもので、privateであるべきです。protected voidconfigureEditor()このprotectedメソッドは実装固有のもので、privateであるべきです。protected JButtoncreateArrowButton()コンボボックスのポップアップ部分の表示または非表示の制御に使用されるボタンを作成します。protected ComboBoxEditorcreateEditor()編集可能なコンボボックスで使用されるデフォルト・エディタを作成します。protected FocusListenercreateFocusListener()コンボボックスに追加されるFocusListenerを作成します。protected ItemListenercreateItemListener()コンボボックスに追加されるItemListenerを作成します。protected KeyListenercreateKeyListener()コンボボックスに追加されるKeyListenerを作成します。protected LayoutManagercreateLayoutManager()コンボボックスを構成するコンポーネントを管理するためのレイアウト・マネージャを作成します。protected ListDataListenercreateListDataListener()ComboBoxModelに追加されるリスト・データ・リスナーを作成します。protected ComboPopupcreatePopup()コンボボックスのポップアップ部分を作成します。protected PropertyChangeListenercreatePropertyChangeListener()コンボボックスに追加されるPropertyChangeListenerを作成します。protected ListCellRenderer<Object>createRenderer()編集不可能なコンボボックスで使用されるデフォルト・レンダラを作成します。static ComponentUIcreateUI(JComponent c)BasicComboBoxUIの新しいインスタンスを構築します。intgetBaseline(JComponent c, int width, int height)ベースラインを返します。Component.BaselineResizeBehaviorgetBaselineResizeBehavior(JComponent c)サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。protected DimensiongetDefaultSize()現在のレンダラとフォントを使用するコンボボックスの、空のディスプレイ領域のデフォルト・サイズを返します。protected DimensiongetDisplaySize()ディスプレイ領域の、計算されたサイズを返します。protected InsetsgetInsets()JComboBoxからイン・セットを取得します。DimensiongetMinimumSize(JComponent c)最小サイズは、ディスプレイ領域、インセットおよびボタンを足したサイズです。protected DimensiongetSizeForComponent(Component comp)セル・レンダラとして使用された場合のコンポーネントのサイズを返します。protected voidinstallComponents()集合コンボボックスを構成するコンポーネントを作成し、初期化します。protected voidinstallDefaults()JComboBoxに、デフォルトのカラー、フォント、レンダラ、およびエディタをインストールします。protected voidinstallKeyboardActions()JComboBoxにキーボード・アクションを追加します。protected voidinstallListeners()コンボボックスとそのモデルのためのリスナーを作成し、インストールします。booleanisFocusTraversable(JComboBox<?> c)JComboBoxが、フォーカスのトラバースが可能であるかどうかを判定します。protected booleanisNavigationKey(int keyCode)指定されたkeyCodeが、ナビゲーション用のキーにマップされるかどうかを返します。booleanisPopupVisible(JComboBox<?> c)ポップアップが可視かどうかを判定します。voidpaintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)現在選択されている項目をペイントします。voidpaintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)現在選択されている項目のバックグラウンドをペイントします。protected RectanglerectangleForCurrentValue()現在選択されている項目を描画するために予約されている領域を返します。voidremoveEditor()このpublicメソッドは実装固有のもので、privateであるべきです。protected voidselectNextPossibleValue()リストの次の項目を選択します。protected voidselectPreviousPossibleValue()リストから1つ前の項目を選択します。voidsetPopupVisible(JComboBox<?> c, boolean v)ポップアップを非表示にします。protected voidtoggleOpenClose()ポップアップが表示されている場合は非表示にし、非表示になっている場合は表示します。voidunconfigureArrowButton()このpublicメソッドは実装固有のもので、privateであるべきです。protected voidunconfigureEditor()このprotectedメソッドは実装固有のもので、privateであるべきです。protected voiduninstallComponents()コンボ・ボックスを構成する集合コンポーネントは登録解除され、初期化解除されます。protected voiduninstallDefaults()コンボボックスからデフォルトのカラー、フォント、レンダラ、およびエディタをアンインストールします。protected voiduninstallKeyboardActions()フォーカスInputMapおよびActionMapを削除します。protected voiduninstallListeners()インストールされたリスナーを、コンボボックスとそのモデルから削除します。-
クラス javax.swing.plaf.ComponentUIで宣言されたメソッド
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, paint, uninstallUI, update
-
-
-
-
フィールドの詳細
-
hasFocus
protected boolean hasFocus
このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。
-
currentValuePane
protected CellRendererPane currentValuePane
コンボ・ボックスで現在選択されているアイテムを描画するために使用されます。 ポップアップ・レンダリングとは関係ありません。
-
popup
protected ComboPopup popup
ポップアップを表示するために使用されるComboPopupの実装。
-
editor
protected Component editor
@{code ComboBoxEditor} が編集に使用するコンポーネント。
-
arrowButton
protected JButton arrowButton
ポップアップを起動する矢印ボタン。
-
keyListener
protected KeyListener keyListener
このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。- 関連項目:
createKeyListener()
-
focusListener
protected FocusListener focusListener
このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。- 関連項目:
createFocusListener()
-
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。
-
itemListener
protected ItemListener itemListener
このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。- 関連項目:
createItemListener()
-
popupMouseListener
protected MouseListener popupMouseListener
MouseListenerはイベントを待ち受けます。
-
popupMouseMotionListener
protected MouseMotionListener popupMouseMotionListener
MouseMotionListenerはイベントを待ち受けます。
-
popupKeyListener
protected KeyListener popupKeyListener
KeyListenerはイベントを待ち受けます。
-
listDataListener
protected ListDataListener listDataListener
このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。- 関連項目:
createListDataListener()
-
isMinimumSizeDirty
protected boolean isMinimumSizeDirty
最小優先サイズを再計算するためのフラグ。
-
cachedMinimumSize
protected Dimension cachedMinimumSize
キャッシュされた最小優先サイズ。
-
squareButton
protected boolean squareButton
コンボボックス・ボタンを正方形にするべきかどうかを示します。 正方形の場合は、幅と高さが等しくなり、両方ともコンボから適切なイン・セットを引いた高さに設定されます。- 導入されたバージョン:
- 1.7
-
padding
protected Insets padding
これらのイン・セットは、「選択された」項目をコンボボックスに配置し、ペイントする際に、セル・レンダラ周囲のパディングとして機能します。 これらのイン・セットは、セル・レンダラによって指定されたイン・セットに追加されます。- 導入されたバージョン:
- 1.7
-
-
メソッドの詳細
-
createUI
public static ComponentUI createUI(JComponent c)
BasicComboBoxUIの新しいインスタンスを構築します。- パラメータ:
c- コンポーネント- 戻り値:
BasicComboBoxUIの新しいインスタンス
-
installDefaults
protected void installDefaults()
JComboBoxに、デフォルトのカラー、フォント、レンダラ、およびエディタをインストールします。
-
installListeners
protected void installListeners()
コンボボックスとそのモデルのためのリスナーを作成し、インストールします。 このメソッドは、UIインストール時に呼び出されます。
-
uninstallDefaults
protected void uninstallDefaults()
コンボボックスからデフォルトのカラー、フォント、レンダラ、およびエディタをアンインストールします。
-
uninstallListeners
protected void uninstallListeners()
インストールされたリスナーを、コンボボックスとそのモデルから削除します。 このメソッドで削除されるリスナーの数とタイプは、installListenersで追加されたものと同じであるべきです。
-
createPopup
protected ComboPopup createPopup()
コンボボックスのポップアップ部分を作成します。- 戻り値:
ComboPopupのインスタンス- 関連項目:
ComboPopup
-
createKeyListener
protected KeyListener createKeyListener()
コンボボックスに追加されるKeyListenerを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。- 戻り値:
KeyListenerのインスタンスまたはnull
-
createFocusListener
protected FocusListener createFocusListener()
コンボボックスに追加されるFocusListenerを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。- 戻り値:
FocusListenerのインスタンス、またはnull
-
createListDataListener
protected ListDataListener createListDataListener()
ComboBoxModelに追加されるリスト・データ・リスナーを作成します。 このメソッドがnullを返す場合、コンボ・ボックス・モデルには追加されません。- 戻り値:
ListDataListenerのインスタンス、またはnull
-
createItemListener
protected ItemListener createItemListener()
コンボボックスに追加されるItemListenerを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。サブクラスは、このメソッドをオーバーライドして、独自のItemEventハンドラのインスタンスを返すことができます。
- 戻り値:
ItemListenerのインスタンス、またはnull
-
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
コンボボックスに追加されるPropertyChangeListenerを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。- 戻り値:
PropertyChangeListenerのインスタンス、またはnull
-
createLayoutManager
protected LayoutManager createLayoutManager()
コンボボックスを構成するコンポーネントを管理するためのレイアウト・マネージャを作成します。- 戻り値:
- レイアウト・マネージャのインスタンス
-
createRenderer
protected ListCellRenderer<Object> createRenderer()
編集不可能なコンボボックスで使用されるデフォルト・レンダラを作成します。 レンダラがsetRendererで明示的に設定されていない場合だけ、デフォルト・レンダラが使用されます。- 戻り値:
- コンボボックスに使用される
ListCellRender - 関連項目:
JComboBox.setRenderer(javax.swing.ListCellRenderer<? super E>)
-
createEditor
protected ComboBoxEditor createEditor()
編集可能なコンボボックスで使用されるデフォルト・エディタを作成します。 エディタがsetEditorで明示的に設定されていない場合だけ、デフォルト・エディタが使用されます。- 戻り値:
- コンボボックスに使用される
ComboBoxEditor - 関連項目:
JComboBox.setEditor(javax.swing.ComboBoxEditor)
-
installComponents
protected void installComponents()
集合コンボボックスを構成するコンポーネントを作成し、初期化します。 このメソッドは、UIインストール・プロセスの一部として呼び出されます。
-
uninstallComponents
protected void uninstallComponents()
コンボ・ボックスを構成する集合コンポーネントは登録解除され、初期化解除されます。 このメソッドは、UIアンインストール・プロセスの一部として呼び出されます。
-
addEditor
public void addEditor()
このpublicメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。 特定のエディタを実装するには、カスタムのComboBoxEditorを作成してください。
-
removeEditor
public void removeEditor()
このpublicメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。- 関連項目:
addEditor()
-
configureEditor
protected void configureEditor()
protectedメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。- 関連項目:
addEditor()
-
unconfigureEditor
protected void unconfigureEditor()
このprotectedメソッドは実装固有のもので、privateであるべきです。 呼び出しまたはオーバーライドしないでください。- 関連項目:
addEditor()
-
configureArrowButton
public void configureArrowButton()
このpublicメソッドは実装固有のもので、privateであるべきです。 呼び出しまたはオーバーライドしないでください。- 関連項目:
createArrowButton()
-
unconfigureArrowButton
public void unconfigureArrowButton()
このpublicメソッドは実装固有のもので、privateであるべきです。 呼び出しまたはオーバーライドしないでください。- 関連項目:
createArrowButton()
-
createArrowButton
protected JButton createArrowButton()
コンボボックスのポップアップ部分の表示または非表示の制御に使用されるボタンを作成します。- 戻り値:
- ポップアップ制御を表すボタン
-
isPopupVisible
public boolean isPopupVisible(JComboBox<?> c)
ポップアップが可視かどうかを判定します。- 定義:
isPopupVisible、クラスComboBoxUI- パラメータ:
c-JComboBox- 戻り値:
JComboBoxのポップアップが表示されている場合はtrue
-
setPopupVisible
public void setPopupVisible(JComboBox<?> c, boolean v)
ポップアップを非表示にします。- 定義:
setPopupVisible、クラスComboBoxUI- パラメータ:
c-JComboBoxv- ポップアップの可視性を決定するboolean
-
isFocusTraversable
public boolean isFocusTraversable(JComboBox<?> c)
JComboBoxが、フォーカスのトラバースが可能であるかどうかを判定します。 JComboBoxが編集可能な場合は、falseを返します。そうでない場合はtrueを返します。- 定義:
isFocusTraversable、クラスComboBoxUI- パラメータ:
c-JComboBox- 戻り値:
- 指定された
JComboBoxがトラバーサブルな場合はtrue
-
getMinimumSize
public Dimension getMinimumSize(JComponent c)
最小サイズは、ディスプレイ領域、インセットおよびボタンを足したサイズです。- オーバーライド:
getMinimumSize、クラスComponentUI- パラメータ:
c- 最小サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 戻り値:
Dimensionオブジェクトまたはnull- 関連項目:
JComponent.getMinimumSize(),LayoutManager.minimumLayoutSize(java.awt.Container),ComponentUI.getPreferredSize(javax.swing.JComponent)
-
getBaseline
public int getBaseline(JComponent c, int width, int height)
ベースラインを返します。- オーバーライド:
getBaseline、クラスComponentUI- パラメータ:
c- ベースラインが要求されるJComponentwidth- ベースラインを取得する幅height- ベースラインを取得する高さ- 戻り値:
- ベースラインまたは0より小さい値(適切なベースラインがないことを示す)
- 例外:
NullPointerException-cがnullである場合IllegalArgumentException- 幅または高さが0より小さい場合- 導入されたバージョン:
- 1.6
- 関連項目:
JComponent.getBaseline(int, int)
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。- オーバーライド:
getBaselineResizeBehavior、クラスComponentUI- パラメータ:
c- ベースラインのサイズ変更の動作を返すJComponent- 戻り値:
- コンポーネント・サイズの変化に合わせてベースラインがどのように変化するかを示す列挙
- 例外:
NullPointerException-cがnullである場合- 導入されたバージョン:
- 1.6
- 関連項目:
JComponent.getBaseline(int, int)
-
isNavigationKey
protected boolean isNavigationKey(int keyCode)
指定されたkeyCodeが、ナビゲーション用のキーにマップされるかどうかを返します。 これは、ナビゲーション・キー以外のキーのみを先打ちメカニズムに渡すことによって、キー入力を最適化するために使用されます。 サブクラスがナビゲーション・キーを変更する場合は、これをオーバーライドするべきです。- パラメータ:
keyCode- キー・コード- 戻り値:
- 提供された
keyCodeがナビゲーション・キーにマップされている場合はtrue
-
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)
現在選択されている項目をペイントします。- パラメータ:
g-Graphicsのインスタンスbounds- レンダリングする境界矩形hasFocus- 焦点が合っている
-
paintCurrentValueBackground
public void paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)
現在選択されている項目のバックグラウンドをペイントします。- パラメータ:
g-Graphicsのインスタンスbounds- レンダリングする境界矩形hasFocus- 焦点が合っている
-
getDefaultSize
protected Dimension getDefaultSize()
現在のレンダラとフォントを使用するコンボボックスの、空のディスプレイ領域のデフォルト・サイズを返します。- 戻り値:
- 空のディスプレイ領域のサイズ
- 関連項目:
getDisplaySize()
-
getDisplaySize
protected Dimension getDisplaySize()
ディスプレイ領域の、計算されたサイズを返します。 ディスプレイ領域は、選択した項目が表示されるコンボボックスの一部です。 プロトタイプ・ディスプレイ値が設定されている場合、このメソッドはこれを使用します。項目数の多いコンボボックスについては、プロトタイプ・ディスプレイ値を使用して、ディスプレイ・サイズの計算を大幅に速めることをお勧めします。
- 戻り値:
- コンボボックスの項目から計算される、ディスプレイ領域のサイズ
- 関連項目:
JComboBox.setPrototypeDisplayValue(E)
-
getSizeForComponent
protected Dimension getSizeForComponent(Component comp)
セル・レンダラとして使用された場合のコンポーネントのサイズを返します。- パラメータ:
comp- チェックするComponent- 戻り値:
- コンポーネントのサイズ
- 導入されたバージョン:
- 1.7
-
installKeyboardActions
protected void installKeyboardActions()
JComboBoxにキーボード・アクションを追加します。 EnterキーおよびEscキーについてのアクションは、すでに提供されています。 必要に応じてアクションを追加してください。
-
uninstallKeyboardActions
protected void uninstallKeyboardActions()
フォーカスInputMapおよびActionMapを削除します。
-
-