|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.plaf.ComponentUI javax.swing.plaf.ComboBoxUI javax.swing.plaf.basic.BasicComboBoxUI
public class BasicComboBoxUI
JComboBox のための基本 UI 実装です。
コンボボックスは、複合コンポーネント、つまり多くの単純なコンポーネントの集合です。このクラスは、コンボボックスとコンボボックスモデル上のリスナーを作成し、管理します。これらのリスナーは、コンボボックスの状態とプロパティーにおける変更に応じて、ユーザーインタフェースを更新します。
すべてのイベント処理は、createxxxListener()
の各メソッド、および内部クラスを使用して作成されたリスナークラスにより処理されます。このクラスの動作を変更するには、createxxxListener()
の各メソッドをオーバーライドした上で、独自のイベントリスナーを提供するか、このクラスで提供されたイベントリスナーからサブクラス化します。
特定のアクションを追加するには、installKeyboardActions
をオーバーライドして、KeyStroke バインディングに応じてアクションを追加します。「The Swing Connection」の「Keyboard Bindings in Swing」の項目を参照してください。
入れ子のクラスの概要 | |
---|---|
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 |
comboBox
|
protected CellRendererPane |
currentValuePane
|
protected Component |
editor
|
protected FocusListener |
focusListener
この protected フィールドは実装固有のものです。 |
protected boolean |
hasFocus
この protected フィールドは実装固有のものです。 |
protected boolean |
isMinimumSizeDirty
|
protected ItemListener |
itemListener
この protected フィールドは実装固有のものです。 |
protected KeyListener |
keyListener
この protected フィールドは実装固有のものです。 |
protected JList |
listBox
|
protected ListDataListener |
listDataListener
この protected フィールドは実装固有のものです。 |
protected ComboPopup |
popup
|
protected KeyListener |
popupKeyListener
|
protected MouseListener |
popupMouseListener
|
protected MouseMotionListener |
popupMouseMotionListener
|
protected PropertyChangeListener |
propertyChangeListener
この protected フィールドは実装固有のものです。 |
コンストラクタの概要 | |
---|---|
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 |
createRenderer()
編集不可能なコンボボックスで使用されるデフォルトレンダリングを作成します。 |
static ComponentUI |
createUI(JComponent c)
|
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)
サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。 |
protected Dimension |
getDefaultSize()
現在のレンダリングとフォントを使用して、コンボボックスの空のディスプレイ領域のデフォルトサイズを返します。 |
protected Dimension |
getDisplaySize()
ディスプレイ領域の、計算されたサイズを返します。 |
protected Insets |
getInsets()
JComboBox からインセットを取得します。 |
Dimension |
getMaximumSize(JComponent c)
Look & Feel に適した、指定されたコンポーネントの最大サイズを返します。 |
Dimension |
getMinimumSize(JComponent c)
最小サイズは、ディスプレイ領域、インセット、およびボタンを足したサイズです。 |
Dimension |
getPreferredSize(JComponent c)
Look & Feel に適した、指定されたコンポーネントの適切なサイズを返します。 |
protected void |
installComponents()
集合コンボボックスを構成するコンポーネントを作成し、初期化します。 |
protected void |
installDefaults()
JComboBox に、デフォルトのカラー、フォント、レンダリング、およびエディタをインストールします。 |
protected void |
installKeyboardActions()
JComboBox にキーボードアクションを追加します。 |
protected void |
installListeners()
コンボボックスとそのモデルのためのリスナーを作成し、インストールします。 |
void |
installUI(JComponent c)
Look & Feel に適した、指定されたコンポーネントを構成します。 |
boolean |
isFocusTraversable(JComboBox c)
JComboBox が、フォーカスのトラバースが可能であるかどうかを判定します。 |
protected boolean |
isNavigationKey(int keyCode)
提供された keyCode を、ナビゲーション用のキーにマップするかどうかを返します。 |
boolean |
isPopupVisible(JComboBox c)
ポップアップが可視かどうかを判定します。 |
void |
paint(Graphics g,
JComponent c)
Look &Feel に適した、指定されたコンポーネントをペイントします。 |
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()
JComboBox からデフォルトのカラー、フォント、レンダリング、およびエディタをアンインストールします。 |
protected void |
uninstallKeyboardActions()
フォーカス InputMap および ActionMap を削除します。 |
protected void |
uninstallListeners()
インストールされたリスナーを、コンボボックスとそのモデルから削除します。 |
void |
uninstallUI(JComponent c)
installUI 時に、指定されたコンポーネントで構成された内容を取り消します。 |
クラス javax.swing.plaf.ComponentUI から継承されたメソッド |
---|
contains, update |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected JComboBox comboBox
protected boolean hasFocus
protected JList listBox
protected CellRendererPane currentValuePane
protected ComboPopup popup
protected Component editor
protected JButton arrowButton
protected KeyListener keyListener
createKeyListener()
protected FocusListener focusListener
createFocusListener()
protected PropertyChangeListener propertyChangeListener
createPropertyChangeListener()
protected ItemListener itemListener
createItemListener()
protected MouseListener popupMouseListener
protected MouseMotionListener popupMouseMotionListener
protected KeyListener popupKeyListener
protected ListDataListener listDataListener
createListDataListener()
protected boolean isMinimumSizeDirty
protected Dimension cachedMinimumSize
コンストラクタの詳細 |
---|
public BasicComboBoxUI()
メソッドの詳細 |
---|
public static ComponentUI createUI(JComponent c)
public void installUI(JComponent c)
ComponentUI
の記述:ComponentUI
インスタンスが、指定されたコンポーネントの UI 委譲としてインストールされているときに呼び出されます。このメソッドは、以下を含む Look & Feel 用のコンポーネントを完全に構成する必要があります。
LayoutManager
をインストールする
PropertyChangeListener
をコンポーネントに作成またはインストールする
ComponentUI
内の installUI
c
- UI 委譲がインストールされているコンポーネントComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
public void uninstallUI(JComponent c)
ComponentUI
の記述:installUI
時に、指定されたコンポーネントで構成された内容を取り消します。このメソッドは、指定されたコンポーネントの UI 委譲としての UIComponent
インスタンスが削除されているときに呼び出されます。このメソッドは、installUI
によって実行された構成を元に戻す必要があります。この場合、JComponent
インスタンスをクリーンな状態 (余分なリスナーや、Look & Feel 固有のプロパティーオブジェクトが残らないように) にするよう十分注意してください。手順には次のものがあります。
ComponentUI
内の uninstallUI
c
- この UI 委譲を削除するコンポーネント。
この引数は通常無視されるが、
UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は
使用されることがあるComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
protected void installDefaults()
protected void installListeners()
protected void uninstallDefaults()
protected void uninstallListeners()
installListeners
に追加されたものと同じになる必要があります。
protected ComboPopup createPopup()
ComboPopup
のインスタンスComboPopup
protected KeyListener createKeyListener()
KeyListener
を作成します。このメソッドが null を返す場合、コンボボックスには追加されません。
KeyListener
のインスタンス、または nullprotected FocusListener createFocusListener()
FocusListener
を作成します。このメソッドが null を返す場合、コンボボックスには追加されません。
FocusListener
のインスタンス、または nullprotected ListDataListener createListDataListener()
ComboBoxModel
に追加されるリストデータリスナーを作成します。このメソッドが null を返す場合、コンボボックスモデルには追加されません。
ListDataListener
のインスタンス、または nullprotected ItemListener createItemListener()
ItemListener
を作成します。このメソッドが null を返す場合、コンボボックスには追加されません。
サブクラスは、このメソッドをオーバーライドして、独自の ItemEvent ハンドラのインスタンスを返すことができます。
ItemListener
のインスタンス、または nullprotected PropertyChangeListener createPropertyChangeListener()
PropertyChangeListener
を作成します。このメソッドが null を返す場合、コンボボックスには追加されません。
PropertyChangeListener
のインスタンス、または nullprotected LayoutManager createLayoutManager()
protected ListCellRenderer createRenderer()
setRenderer
が明示的に設定されていない場合だけ、デフォルトレンダリングが使用されます。
ListCellRender
JComboBox.setRenderer(javax.swing.ListCellRenderer)
protected ComboBoxEditor createEditor()
setEditor
が明示的に設定されていない場合だけ、デフォルトエディタが使用されます。
ComboBoxEditor
JComboBox.setEditor(javax.swing.ComboBoxEditor)
protected void installComponents()
protected void uninstallComponents()
public void addEditor()
ComboBoxEditor
を作成してください。
createEditor()
,
JComboBox.setEditor(javax.swing.ComboBoxEditor)
,
ComboBoxEditor
public void removeEditor()
addEditor()
protected void configureEditor()
addEditor()
protected void unconfigureEditor()
addEditor()
public void configureArrowButton()
createArrowButton()
public void unconfigureArrowButton()
createArrowButton()
protected JButton createArrowButton()
public boolean isPopupVisible(JComboBox c)
ComboBoxUI
内の isPopupVisible
public void setPopupVisible(JComboBox c, boolean v)
ComboBoxUI
内の setPopupVisible
public boolean isFocusTraversable(JComboBox c)
ComboBoxUI
内の isFocusTraversable
public void paint(Graphics g, JComponent c)
ComponentUI
の記述:ComponentUI.update
メソッドから、指定されたコンポーネントがペイントされるときに呼び出されます。サブクラスは、このメソッドをオーバーライドして、指定された Graphics
オブジェクトを使ってコンポーネントの内容を描画する必要があります。
ComponentUI
内の paint
g
- ペイント対象の Graphics
コンテキストc
- ペイントされるコンポーネント。
この引数は通常無視されるが、
UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は
使用されることがあるComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
public Dimension getPreferredSize(JComponent c)
ComponentUI
の記述:null
が返される場合、適切なサイズは代わりにコンポーネントのレイアウトマネージャーによって計算されます (これは、特定のレイアウトマネージャーをインストールしてあるコンポーネントの場合に推奨する方法です)。このメソッドのデフォルト実装は null
を返します。
ComponentUI
内の getPreferredSize
c
- 適切なサイズを照会されるコンポーネント。
この引数は通常無視されるが、
UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は
使用されることがあるJComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
public Dimension getMinimumSize(JComponent c)
ComponentUI
内の getMinimumSize
c
- 最小サイズを照会されるコンポーネント。
この引数は通常無視されるが、
UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は
使用されることがある
Dimension
オブジェクト、または null
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
ComponentUI.getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
ComponentUI
の記述:null
が返される場合、最大サイズは代わりにコンポーネントのレイアウトマネージャーによって計算されます (これは、特定のレイアウトマネージャーをインストールしてあるコンポーネントの場合に推奨する方法です)。このメソッドのデフォルト実装は getPreferredSize
を呼び出して、その値を返します。
ComponentUI
内の getMaximumSize
c
- 最大サイズを照会されるコンポーネント。
この引数は通常無視されるが、
UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は
使用されることがある
Dimension
オブジェクト、または null
JComponent.getMaximumSize()
,
LayoutManager2.maximumLayoutSize(java.awt.Container)
public int getBaseline(JComponent c, int width, int height)
ComponentUI
内の getBaseline
c
- 要求される JComponent
ベースラインwidth
- ベースラインを取得する幅height
- ベースラインを取得する高さ
NullPointerException
- c
が null
の場合
IllegalArgumentException
- 幅または高さが 0 より小さい場合JComponent.getBaseline(int, int)
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
ComponentUI
内の getBaselineResizeBehavior
c
- ベースラインのサイズ変更の動作を返す JComponent
NullPointerException
- c
が null
の場合JComponent.getBaseline(int, int)
public int getAccessibleChildrenCount(JComponent c)
ComponentUI
の記述:Accessible
インタフェースを実装している場合、このメソッドはこのオブジェクトの子の数を返します。UI が、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UI において必要に応じてこのメソッドをオーバーライドできます。
注:バージョン 1.3 以降は、このメソッドの代わりに Component.AccessibleAWTComponent.getAccessibleChildrenCount()
を呼び出すことが推奨されています。
ComponentUI
内の getAccessibleChildrenCount
ComponentUI.getAccessibleChild(javax.swing.JComponent, int)
public Accessible getAccessibleChild(JComponent c, int i)
ComponentUI
の記述:i
番目の Accessible
の子を返します。UI が、画面上にコンポーネントとして表示される領域は提供するが、この領域を提供するのに実際のコンポーネントを使用しない場合、UI は必要に応じてこのメソッドをオーバーライドします。
注:バージョン 1.3 以降は、このメソッドの代わりに Component.AccessibleAWTComponent.getAccessibleChild()
を呼び出すことが推奨されています。
ComponentUI
内の getAccessibleChild
i
- ゼロから始まる子のインデックス
i
番目の Accessible
の子ComponentUI.getAccessibleChildrenCount(javax.swing.JComponent)
protected boolean isNavigationKey(int keyCode)
protected void selectNextPossibleValue()
protected void selectPreviousPossibleValue()
protected void toggleOpenClose()
protected Rectangle rectangleForCurrentValue()
protected Insets getInsets()
public void paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)
public void paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)
protected Dimension getDefaultSize()
getDisplaySize()
protected Dimension getDisplaySize()
項目数の多いコンボボックスについては、プロトタイプディスプレイ値を使用して、ディスプレイサイズの計算を大幅に速めることをお勧めします。
JComboBox.setPrototypeDisplayValue(java.lang.Object)
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。