- 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バインディングに応じてアクションを追加します。 記事「キー・バインディングの使用方法」を参照してください。
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 class
BasicComboBoxUI.ComboBoxLayoutManager
このレイアウト・マネージャは、コンボボックスの「標準」レイアウトを扱います。class
BasicComboBoxUI.FocusHandler
フォーカスが失われたときに、このリスナーはポップアップを隠します。class
BasicComboBoxUI.ItemHandler
このリスナーは、コンボボックスの選択の変更を監視します。class
BasicComboBoxUI.KeyHandler
このリスナーは、キー・イベントがナビゲーション・キーでないかどうかを確認します。class
BasicComboBoxUI.ListDataHandler
このリスナーは、ComboBoxModel
内での変更を監視します。class
BasicComboBoxUI.PropertyChangeHandler
このリスナーは、コンボボックス内で変更されたバウンド・プロパティを監視します。
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected JButton
arrowButton
ポップアップを起動する矢印ボタン。protected Dimension
cachedMinimumSize
キャッシュされた最小優先サイズ。protected JComboBox<Object>
comboBox
JComboBox
のインスタンス。protected CellRendererPane
currentValuePane
コンボ・ボックスで現在選択されているアイテムを描画するために使用されます。protected Component
editor
@{code ComboBoxEditor} が編集に使用するコンポーネント。protected FocusListener
focusListener
このprotectedフィールドは実装固有のものです。protected boolean
hasFocus
このprotectedフィールドは実装固有のものです。protected boolean
isMinimumSizeDirty
最小優先サイズを再計算するためのフラグ。protected ItemListener
itemListener
このprotectedフィールドは実装固有のものです。protected KeyListener
keyListener
このprotectedフィールドは実装固有のものです。protected JList<Object>
listBox
このリストは、現在のアイテムをコンボ・ボックスに描画するためのものです。protected ListDataListener
listDataListener
このprotectedフィールドは実装固有のものです。protected Insets
padding
これらのイン・セットは、「選択された」項目をコンボボックスに配置し、ペイントする際に、セル・レンダラ周囲のパディングとして機能します。protected ComboPopup
popup
ポップアップを表示するために使用されるComboPopup
の実装。protected KeyListener
popupKeyListener
KeyListener
はイベントを待ち受けます。protected MouseListener
popupMouseListener
MouseListener
はイベントを待ち受けます。protected MouseMotionListener
popupMouseMotionListener
MouseMotionListener
はイベントを待ち受けます。protected PropertyChangeListener
propertyChangeListener
このprotectedフィールドは実装固有のものです。protected boolean
squareButton
コンボボックス・ボタンを正方形にするべきかどうかを示します。
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 BasicComboBoxUI()
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 void
addEditor()
このpublicメソッドは実装固有のもので、privateであるべきです。void
configureArrowButton()
このpublicメソッドは実装固有のもので、privateであるべきです。protected void
configureEditor()
このprotectedメソッドは実装固有のもので、privateであるべきです。protected JButton
createArrowButton()
コンボボックスのポップアップ部分の表示または非表示の制御に使用されるボタンを作成します。protected ComboBoxEditor
createEditor()
編集可能なコンボボックスで使用されるデフォルト・エディタを作成します。protected FocusListener
createFocusListener()
コンボボックスに追加されるFocusListener
を作成します。protected ItemListener
createItemListener()
コンボボックスに追加されるItemListener
を作成します。protected KeyListener
createKeyListener()
コンボボックスに追加されるKeyListener
を作成します。protected LayoutManager
createLayoutManager()
コンボボックスを構成するコンポーネントを管理するためのレイアウト・マネージャを作成します。protected ListDataListener
createListDataListener()
ComboBoxModel
に追加されるリスト・データ・リスナーを作成します。protected ComboPopup
createPopup()
コンボボックスのポップアップ部分を作成します。protected PropertyChangeListener
createPropertyChangeListener()
コンボボックスに追加されるPropertyChangeListener
を作成します。protected ListCellRenderer<Object>
createRenderer()
編集不可能なコンボボックスで使用されるデフォルト・レンダラを作成します。static ComponentUI
createUI(JComponent c)
BasicComboBoxUI
の新しいインスタンスを構築します。int
getBaseline(JComponent c, int width, int height)
ベースラインを返します。Component.BaselineResizeBehavior
getBaselineResizeBehavior(JComponent c)
サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。protected Dimension
getDefaultSize()
現在のレンダラとフォントを使用するコンボボックスの、空のディスプレイ領域のデフォルト・サイズを返します。protected Dimension
getDisplaySize()
ディスプレイ領域の、計算されたサイズを返します。protected Insets
getInsets()
JComboBoxからイン・セットを取得します。Dimension
getMinimumSize(JComponent c)
最小サイズは、ディスプレイ領域、インセットおよびボタンを足したサイズです。protected Dimension
getSizeForComponent(Component comp)
セル・レンダラとして使用された場合のコンポーネントのサイズを返します。protected void
installComponents()
集合コンボボックスを構成するコンポーネントを作成し、初期化します。protected void
installDefaults()
JComboBoxに、デフォルトのカラー、フォント、レンダラ、およびエディタをインストールします。protected void
installKeyboardActions()
JComboBoxにキーボード・アクションを追加します。protected void
installListeners()
コンボボックスとそのモデルのためのリスナーを作成し、インストールします。boolean
isFocusTraversable(JComboBox<?> c)
JComboBoxが、フォーカスのトラバースが可能であるかどうかを判定します。protected boolean
isNavigationKey(int keyCode)
指定されたkeyCodeが、ナビゲーション用のキーにマップされるかどうかを返します。boolean
isPopupVisible(JComboBox<?> c)
ポップアップが可視かどうかを判定します。void
paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)
現在選択されている項目をペイントします。void
paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)
現在選択されている項目のバックグラウンドをペイントします。protected Rectangle
rectangleForCurrentValue()
現在選択されている項目を描画するために予約されている領域を返します。void
removeEditor()
このpublicメソッドは実装固有のもので、privateであるべきです。protected void
selectNextPossibleValue()
リストの次の項目を選択します。protected void
selectPreviousPossibleValue()
リストから1つ前の項目を選択します。void
setPopupVisible(JComboBox<?> c, boolean v)
ポップアップを非表示にします。protected void
toggleOpenClose()
ポップアップが表示されている場合は非表示にし、非表示になっている場合は表示します。void
unconfigureArrowButton()
このpublicメソッドは実装固有のもので、privateであるべきです。protected void
unconfigureEditor()
このprotectedメソッドは実装固有のもので、privateであるべきです。protected void
uninstallComponents()
コンボ・ボックスを構成する集合コンポーネントは登録解除され、初期化解除されます。protected void
uninstallDefaults()
コンボボックスからデフォルトのカラー、フォント、レンダラ、およびエディタをアンインストールします。protected void
uninstallKeyboardActions()
フォーカスInputMapおよびActionMapを削除します。protected void
uninstallListeners()
インストールされたリスナーを、コンボボックスとそのモデルから削除します。-
クラス 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
-JComboBox
v
- ポップアップの可視性を決定する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
- ベースラインが要求されるJComponent
width
- ベースラインを取得する幅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を削除します。
-
-