クラスBasicComboBoxUI

直系の既知のサブクラス:
MetalComboBoxUI, SynthComboBoxUI

public class BasicComboBoxUI extends ComboBoxUI
JComboBoxの基本UI実装です。

コンボボックスは、複合コンポーネント、つまり多くの単純なコンポーネントの集合です。 このクラスは、コンボボックスとコンボ・ボックス・モデル上のリスナーを作成し、管理します。 これらのリスナーは、コンボボックスの状態とプロパティにおける変更に応じて、ユーザー・インタフェースを更新します。

すべてのイベント処理は、createxxxListener()の各メソッド、および内部クラスを使用して作成されたリスナー・クラスにより処理されます。 このクラスの動作を変更するには、createxxxListener()の各メソッドをオーバーライドした上で、独自のイベント・リスナーを提供するか、このクラスで提供されているイベント・リスナーからサブクラス化します。

特定のアクションを追加する場合は、installKeyboardActionsをオーバーライドして、KeyStrokeバインディングにレスポンスしてアクションを追加します。 記事「キー・バインディングの使用方法」を参照してください。

  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    class 
    このレイアウト・マネージャは、コンボボックスの「標準」レイアウトを扱います。
    class 
    フォーカスが失われたときに、このリスナーはポップアップを隠します。
    class 
    このリスナーは、コンボボックスの選択の変更を監視します。
    class 
    このリスナーは、キー・イベントがナビゲーション・キーでないかどうかを確認します。
    class 
    このリスナーは、ComboBoxModel内での変更を監視します。
    class 
    このリスナーは、コンボボックス内で変更されたバウンド・プロパティを監視します。
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected JButton
    ポップアップを起動する矢印ボタン。
    protected Dimension
    キャッシュされた最小優先サイズ。
    protected JComboBox<Object>
    JComboBoxのインスタンス。
    コンボ・ボックスで現在選択されている項目をレンダリングするために使用されます。
    protected Component
    ComboBoxEditorが編集に使用するコンポーネント。
    protected FocusListener
    このprotectedフィールドは実装固有のものです。
    protected boolean
    このprotectedフィールドは実装固有のものです。
    protected boolean
    最小優先サイズを再計算するためのフラグ。
    protected ItemListener
    このprotectedフィールドは実装固有のものです。
    protected KeyListener
    このprotectedフィールドは実装固有のものです。
    protected JList<Object>
    このリストはコンボ・ボックス内の現在のアイテムを描画するためのものです。
    このprotectedフィールドは実装固有のものです。
    protected Insets
    これらのイン・セットは、「選択された」項目をコンボボックスに配置し、ペイントする際に、セル・レンダラ周囲のパディングとして機能します。
    protected ComboPopup
    ポップアップの表示に使用されるComboPopupの実装。
    protected KeyListener
    KeyListenerはイベントをリスニングします。
    protected MouseListener
    MouseListenerはイベントをリスニングします。
    MouseMotionListenerはイベントをリスニングします。
    このprotectedフィールドは実装固有のものです。
    protected boolean
    コンボボックス・ボタンを正方形にするべきかどうかを示します。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    BasicComboBoxUIを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    このpublicメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。
    void
    このpublicメソッドは実装固有のもので、privateであるべきです。
    protected void
    protectedメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。
    protected JButton
    コンボボックスのポップアップ部分の表示または非表示の制御に使用されるボタンを作成します。
    protected ComboBoxEditor
    編集可能なコンボボックスで使用されるデフォルト・エディタを作成します。
    protected FocusListener
    コンボボックスに追加されるFocusListenerを作成します。
    protected ItemListener
    コンボボックスに追加されるItemListenerを作成します。
    protected KeyListener
    コンボボックスに追加されるKeyListenerを作成します。
    protected LayoutManager
    コンボボックスを構成するコンポーネントを管理するためのレイアウト・マネージャを作成します。
    ComboBoxModelに追加されるリスト・データ・リスナーを作成します。
    protected ComboPopup
    コンボボックスのポップアップ部分を作成します。
    コンボボックスに追加されるPropertyChangeListenerを作成します。
    編集不可能なコンボボックスで使用されるデフォルト・レンダラを作成します。
    BasicComboBoxUIの新しいインスタンスを構築します。
    int
    getBaseline(JComponent c, int width, int height)
    ベースラインを返します。
    サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。
    protected Dimension
    現在のレンダラとフォントを使用するコンボボックスの、空のディスプレイ領域のデフォルト・サイズを返します。
    protected Dimension
    ディスプレイ領域の、計算されたサイズを返します。
    protected Insets
    JComboBoxからイン・セットを取得します。
    最小サイズは、ディスプレイ領域、インセットおよびボタンを足したサイズです。
    protected Dimension
    セル・レンダラとして使用された場合のコンポーネントのサイズを返します。
    protected void
    集合コンボボックスを構成するコンポーネントを作成し、初期化します。
    protected void
    JComboBoxに、デフォルトのカラー、フォント、レンダラ、およびエディタをインストールします。
    protected void
    JComboBoxにキーボード・アクションを追加します。
    protected void
    コンボボックスとそのモデルのためのリスナーを作成し、インストールします。
    boolean
    JComboBoxが、フォーカスのトラバースが可能であるかどうかを判定します。
    protected boolean
    isNavigationKey(int keyCode)
    指定されたkeyCodeが、ナビゲーション用のキーにマップされるかどうかを返します。
    boolean
    ポップアップが可視かどうかを判定します。
    void
    paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)
    現在選択されている項目をペイントします。
    void
    paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)
    現在選択されている項目のバックグラウンドをペイントします。
    protected Rectangle
    現在選択されている項目を描画するために予約されている領域を返します。
    void
    このpublicメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。
    protected void
    リストの次の項目を選択します。
    protected void
    リストから1つ前の項目を選択します。
    void
    setPopupVisible(JComboBox<?> c, boolean v)
    ポップアップを非表示にします。
    protected void
    ポップアップが表示されている場合は非表示にし、非表示になっている場合は表示します。
    void
    このpublicメソッドは実装固有のもので、privateであるべきです。
    protected void
    このprotectedメソッドは実装固有のもので、privateであるべきです。
    protected void
    コンボ・ボックスを構成する集合コンポーネントは登録解除され、初期化解除されます。
    protected void
    コンボボックスからデフォルトのカラー、フォント、レンダラ、およびエディタをアンインストールします。
    protected void
    フォーカスInputMapおよびActionMapを削除します。
    protected void
    インストールされたリスナーを、コンボボックスとそのモデルから削除します。

    クラスで宣言されたメソッド ComponentUI

    contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, paint, uninstallUI, update
    修飾子と型
    メソッド
    説明
    boolean
    contains(JComponent c, int x, int y)
    指定された x,yの位置が、指定されたコンポーネントのLook & Feel定義の形状内にある場合は、trueを返します。
    オブジェクトのi番目のAccessibleの子を返します。
    int
    オブジェクト内のアクセシビリティ対応の子の数を返します。
    指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。
    指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。
    void
    指定されたコンポーネントをLook & Feelに応じて適切に構成します。
    void
    指定されたコンポーネントをLook & Feelに合わせてペイントします。
    void
    installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。
    void
    指定されたコンポーネントをペイントする時間になったことを、このUI委譲に通知します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • comboBox

      protected JComboBox<Object> comboBox
      JComboBoxのインスタンス。
    • hasFocus

      protected boolean hasFocus
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。
    • listBox

      protected JList<Object> listBox
      このリストはコンボ・ボックス内の現在のアイテムを描画するためのものです。
    • currentValuePane

      protected CellRendererPane currentValuePane
      コンボ・ボックスで現在選択されている項目をレンダリングするために使用されます。 ポップアップのレンダリングには関係ありません。
    • editor

      protected Component editor
      ComboBoxEditorが編集に使用するコンポーネント。
    • arrowButton

      protected JButton arrowButton
      ポップアップを起動する矢印ボタン。
    • keyListener

      protected KeyListener keyListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。
      関連項目:
    • focusListener

      protected FocusListener focusListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。
      関連項目:
    • propertyChangeListener

      protected PropertyChangeListener propertyChangeListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。
      関連項目:
    • itemListener

      protected ItemListener itemListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。
      関連項目:
    • popupMouseListener

      protected MouseListener popupMouseListener
      MouseListenerはイベントをリスニングします。
    • popupMouseMotionListener

      protected MouseMotionListener popupMouseMotionListener
      MouseMotionListenerはイベントをリスニングします。
    • popupKeyListener

      protected KeyListener popupKeyListener
      KeyListenerはイベントをリスニングします。
    • listDataListener

      protected ListDataListener listDataListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、リスナー作成メソッドをオーバーライドしてください。
      関連項目:
    • isMinimumSizeDirty

      protected boolean isMinimumSizeDirty
      最小優先サイズを再計算するためのフラグ。
    • cachedMinimumSize

      protected Dimension cachedMinimumSize
      キャッシュされた最小優先サイズ。
    • squareButton

      protected boolean squareButton
      コンボボックス・ボタンを正方形にするべきかどうかを示します。 正方形の場合は、幅と高さが等しくなり、両方ともコンボから適切なイン・セットを引いた高さに設定されます。
      導入されたバージョン:
      1.7
    • padding

      protected Insets padding
      これらのイン・セットは、「選択された」項目をコンボボックスに配置し、ペイントする際に、セル・レンダラ周囲のパディングとして機能します。 これらのイン・セットは、セル・レンダラによって指定されたイン・セットに追加されます。
      導入されたバージョン:
      1.7
  • コンストラクタの詳細

    • BasicComboBoxUI

      public BasicComboBoxUI()
      BasicComboBoxUIを構築します。
  • メソッドの詳細

    • 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のインスタンス
      関連項目:
    • 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
      関連項目:
    • createEditor

      protected ComboBoxEditor createEditor()
      編集可能なコンボボックスで使用されるデフォルト・エディタを作成します。 エディタがsetEditorで明示的に設定されていない場合だけ、デフォルト・エディタが使用されます。
      戻り値:
      コンボボックスに使用されるComboBoxEditor
      関連項目:
    • installComponents

      protected void installComponents()
      集合コンボボックスを構成するコンポーネントを作成し、初期化します。 このメソッドは、UIインストール・プロセスの一部として呼び出されます。
    • uninstallComponents

      protected void uninstallComponents()
      コンボ・ボックスを構成する集合コンポーネントは登録解除され、初期化解除されます。 このメソッドは、UIアンインストール・プロセスの一部として呼び出されます。
    • addEditor

      public void addEditor()
      このpublicメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。 特定のエディタを実装するには、カスタムのComboBoxEditorを作成してください。
      関連項目:
    • removeEditor

      public void removeEditor()
      このpublicメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。
      関連項目:
    • configureEditor

      protected void configureEditor()
      protectedメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。
      関連項目:
    • unconfigureEditor

      protected void unconfigureEditor()
      このprotectedメソッドは実装固有のもので、privateであるべきです。 呼び出しまたはオーバーライドしないでください。
      関連項目:
    • configureArrowButton

      public void configureArrowButton()
      このpublicメソッドは実装固有のもので、privateであるべきです。 呼び出しまたはオーバーライドしないでください。
      関連項目:
    • unconfigureArrowButton

      public void unconfigureArrowButton()
      このpublicメソッドは実装固有のもので、privateであるべきです。 呼び出しまたはオーバーライドしないでください。
      関連項目:
    • createArrowButton

      protected JButton createArrowButton()
      コンボボックスのポップアップ部分の表示または非表示の制御に使用されるボタンを作成します。
      戻り値:
      ポップアップ制御を表すボタン
    • isPopupVisible

      public boolean isPopupVisible(JComboBox<?> c)
      ポップアップが可視かどうかを判定します。
      定義:
      isPopupVisible、クラスComboBoxUI
      パラメータ:
      c - a JComboBox
      戻り値:
      JComboBoxのポップアップが表示されている場合はtrue
    • setPopupVisible

      public void setPopupVisible(JComboBox<?> c, boolean v)
      ポップアップを非表示にします。
      定義:
      setPopupVisible、クラスComboBoxUI
      パラメータ:
      c - a JComboBox
      v - ポップアップの表示を決定するboolean
    • isFocusTraversable

      public boolean isFocusTraversable(JComboBox<?> c)
      JComboBoxが、フォーカスのトラバースが可能であるかどうかを判定します。 JComboBoxが編集可能な場合は、falseを返します。そうでない場合はtrueを返します。
      定義:
      isFocusTraversable、クラスComboBoxUI
      パラメータ:
      c - a JComboBox
      戻り値:
      指定されたJComboBoxがトラバーサブルな場合はtrue
    • getMinimumSize

      public Dimension getMinimumSize(JComponent c)
      最小サイズは、ディスプレイ領域、インセットおよびボタンを足したサイズです。
      オーバーライド:
      getMinimumSize、クラスComponentUI
      パラメータ:
      c - 最小サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
      戻り値:
      Dimensionオブジェクトまたはnull
      関連項目:
    • getBaseline

      public int getBaseline(JComponent c, int width, int height)
      ベースラインを返します。
      オーバーライド:
      getBaseline、クラスComponentUI
      パラメータ:
      c - ベースラインが要求されるJComponent
      width - ベースラインを取得する幅
      height - ベースラインを取得する高さ
      戻り値:
      ベースラインまたは0より小さい値(適切なベースラインがないことを示す)
      スロー:
      NullPointerException - cnullである場合
      IllegalArgumentException - 幅または高さが0より小さい場合
      導入されたバージョン:
      1.6
      関連項目:
    • getBaselineResizeBehavior

      public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
      サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。
      オーバーライド:
      getBaselineResizeBehavior、クラスComponentUI
      パラメータ:
      c - ベースラインのサイズ変更の動作を返すJComponent
      戻り値:
      コンポーネント・サイズの変化に合わせてベースラインがどのように変化するかを示す列挙
      スロー:
      NullPointerException - cnullである場合
      導入されたバージョン:
      1.6
      関連項目:
    • 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

      protected Dimension getDisplaySize()
      ディスプレイ領域の、計算されたサイズを返します。 ディスプレイ領域は、選択した項目が表示されるコンボボックスの一部です。 プロトタイプ・ディスプレイ値が設定されている場合、このメソッドはこれを使用します。

      項目数の多いコンボボックスについては、プロトタイプ・ディスプレイ値を使用して、ディスプレイ・サイズの計算を大幅に速めることをお勧めします。

      戻り値:
      コンボボックスの項目から計算される、ディスプレイ領域のサイズ
      関連項目:
    • getSizeForComponent

      protected Dimension getSizeForComponent(Component comp)
      セル・レンダラとして使用された場合のコンポーネントのサイズを返します。
      パラメータ:
      comp - チェックするComponent
      戻り値:
      コンポーネントのサイズ
      導入されたバージョン:
      1.7
    • installKeyboardActions

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

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