モジュール java.desktop
パッケージ javax.swing.plaf.basic

クラスBasicComboPopup

すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible, MenuElement, ComboPopup
直系の既知のサブクラス:
MetalComboBoxUI.MetalComboPopup

public class BasicComboPopup extends JPopupMenu implements ComboPopup
これは、ComboPopupインタフェースの基本的な実装です。 このクラスは、コンボボックスのポップアップ部分のUIを表現します。

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

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

  • フィールド詳細

    • comboBox

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

      protected JList<Object> list
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 アクセス用のメソッドを代わりに使用します。
      関連項目:
    • scroller

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

      protected boolean valueIsAdjusting
      以前はドキュメントに記載されていなかったこのフィールドは、Java 2プラットフォーム1.4以降では使用されません。
    • mouseMotionListener

      protected MouseMotionListener mouseMotionListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりに、アクセス用メソッドまたは生成用メソッドを使用してください。
      関連項目:
    • mouseListener

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

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

      protected ListSelectionListener listSelectionListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりにcreateメソッドを使用します。
      関連項目:
    • listMouseListener

      protected MouseListener listMouseListener
      このprotectedフィールドは実装固有のものです。 直接のアクセスやオーバーライドはしないでください。 代わりにcreateメソッドを使用します。
      関連項目:
    • listMouseMotionListener

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

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

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

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

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

      protected boolean hasEntered
      trueマウス・カーソルがポップアップにある場合。
    • isAutoScrolling

      protected boolean isAutoScrolling
      trueの場合、自動スクロールが有効になります。
    • scrollDirection

      protected int scrollDirection
      スクロールの方向。
    • SCROLL_UP

      protected static final int SCROLL_UP
      スクロール・アップの方向。
      関連項目:
    • SCROLL_DOWN

      protected static final int SCROLL_DOWN
      スクロール・ダウンの方向。
      関連項目:
  • コンストラクタの詳細

    • BasicComboPopup

      public BasicComboPopup(JComboBox<Object> combo)
      BasicComboPopupの新しいインスタンスを構築します。
      パラメータ:
      combo - JComboBoxのインスタンス
  • メソッドの詳細

    • show

      public void show()
      ComboPopup.show()の実装です。
      定義:
      show、インタフェースComboPopup
      オーバーライド:
      show、クラスComponent
    • hide

      public void hide()
      ComboPopup.hide()の実装です。
      定義:
      hide、インタフェースComboPopup
      オーバーライド:
      hide、クラスJComponent
    • getList

      public JList<Object> getList()
      ComboPopup.getList()の実装です。
      定義:
      getList、インタフェースComboPopup
      戻り値:
      コンボ・ボックスにアイテムを描画するために使用されているリスト
    • getMouseListener

      public MouseListener getMouseListener()
      ComboPopup.getMouseListener()の実装です。
      定義:
      getMouseListener、インタフェースComboPopup
      戻り値:
      MouseListenerまたはnull
      関連項目:
    • getMouseMotionListener

      public MouseMotionListener getMouseMotionListener()
      ComboPopup.getMouseMotionListener()の実装です。
      定義:
      getMouseMotionListener、インタフェースComboPopup
      戻り値:
      MouseMotionListenerまたはnull
      関連項目:
    • getKeyListener

      public KeyListener getKeyListener()
      ComboPopup.getKeyListener()の実装です。
      定義:
      getKeyListener、インタフェースComboPopup
      戻り値:
      KeyListenerまたはnull
      関連項目:
    • uninstallingUI

      public void uninstallingUI()
      UIのアンインストール中に呼び出されます。 このポップアップはコンポーネント・ツリーに含まれないので、コンポーネント・ツリーのuninstallUI()は呼び出されません。 addComboBoxListeners()に追加されたリスナーを削除します。
      定義:
      uninstallingUI、インタフェースComboPopup
    • uninstallComboBoxModelListeners

      protected void uninstallComboBoxModelListeners(ComboBoxModel<?> model)
      コンボ・ボックス・モデルからリスナーを削除します。
      パラメータ:
      model - リスナーをインストールするコンボ・ボックス・モデル
      関連項目:
    • uninstallKeyboardActions

      protected void uninstallKeyboardActions()
      キーボード操作の登録を解除します。
    • createMouseListener

      protected MouseListener createMouseListener()
      コンボボックス上でマウス・ボタンを押したり放したりするイベントを監視するリスナーを作成します。 警告: このメソッドをオーバーライドする場合、必ず既存の動作を維持するようにしてください。
      戻り値:
      コンボボックスに追加されるMouseListener、またはnull
    • createMouseMotionListener

      protected MouseMotionListener createMouseMotionListener()
      コンボボックスに追加されるマウス・モーション・リスナーを作成します。 警告: このメソッドをオーバーライドする場合、必ず既存の動作を維持するようにしてください。
      戻り値:
      コンボボックスに追加されるMouseMotionListener、またはnull
    • createKeyListener

      protected KeyListener createKeyListener()
      コンボボックスに追加されるキー・リスナーを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。
      戻り値:
      KeyListenerまたはnull
    • createListSelectionListener

      protected ListSelectionListener createListSelectionListener()
      ポップアップのリストの選択変更を待機するリスト選択リスナーを作成します。 このメソッドがnullを返す場合、ポップアップ・リストには追加されません。
      戻り値:
      ListSelectionListenerのインスタンス、またはnull
    • createListDataListener

      protected ListDataListener createListDataListener()
      ComboBoxModelに追加されるリスト・データ・リスナーを作成します。 このメソッドがnullを返す場合、コンボ・ボックス・モデルには追加されません。
      戻り値:
      ListDataListenerのインスタンス、またはnull
    • createListMouseListener

      protected MouseListener createListMouseListener()
      ポップアップのリストのマウス・イベントを監視するマウス・リスナーを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。
      戻り値:
      MouseListenerのインスタンス、またはnull
    • createListMouseMotionListener

      protected MouseMotionListener createListMouseMotionListener()
      ポップアップのリストのマウス・モーション・イベントを監視するマウス・モーション・リスナーを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。
      戻り値:
      MouseMotionListenerのインスタンス、またはnull
    • createPropertyChangeListener

      protected PropertyChangeListener createPropertyChangeListener()
      コンボボックスに追加されるPropertyChangeListenerを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。
      戻り値:
      PropertyChangeListenerのインスタンス、またはnull
    • createItemListener

      protected ItemListener createItemListener()
      コンボボックスに追加されるItemListenerを作成します。 このメソッドがnullを返す場合、コンボボックスには追加されません。

      サブクラスは、このメソッドをオーバーライドして、独自のItemEventハンドラのインスタンスを返すことができます。

      戻り値:
      ItemListenerのインスタンス、またはnull
    • createList

      protected JList<Object> createList()
      コンボ・ボックス・モデルの項目を表示するために、ポップアップで使用されるJListを作成します。 UIクラス作成時に、このメソッドは呼び出されます。
      戻り値:
      コンボボックス項目の表示に使用されるJList
    • configureList

      protected void configureList()
      ポップアップのコンボボックス項目の保存に使用されるリストを設定します。 UIクラス作成時に、このメソッドは呼び出されます。
      関連項目:
    • installListListeners

      protected void installListListeners()
      リスト・コントロールにリスナーを追加します。
    • createScroller

      protected JScrollPane createScroller()
      スクロール可能なリストを持つスクロール・ペインを作成します。
      戻り値:
      スクロール可能リストを格納するスクロール・ペイン
    • configureScroller

      protected void configureScroller()
      コンボ・ボックス・ポップアップ内にリストを持つ、スクロール可能な部分を設定します。 UIクラス作成時に、このメソッドは呼び出されます。
    • configurePopup

      protected void configurePopup()
      コンボボックスのポップアップ部分を設定します。 UIクラス作成時に、このメソッドは呼び出されます。
    • installComboBoxListeners

      protected void installComboBoxListeners()
      必要なリスナーをJComboBoxに追加します。
    • installComboBoxModelListeners

      protected void installComboBoxModelListeners(ComboBoxModel<?> model)
      コンボ・ボックス・モデル上にリスナーをインストールします。 コンボ・ボックス・モデル上にインストールされたリスナーはすべて、uninstallComboBoxModelListenersで削除されるべきです。
      パラメータ:
      model - リスナーをインストールするコンボ・ボックス・モデル
      関連項目:
    • installKeyboardActions

      protected void installKeyboardActions()
      キーボード操作を登録します。
    • isFocusTraversable

      public boolean isFocusTraversable()
      オーバーライドされ、無条件でfalseを返します。
      オーバーライド:
      isFocusTraversable、クラスComponent
      戻り値:
      このComponentがフォーカスを取得できる場合はtrue、そうでない場合はfalse
      関連項目:
    • startAutoScrolling

      protected void startAutoScrolling(int direction)
      protectedメソッドは実装固有のもので、privateであるべきです。呼び出しまたはオーバーライドしないでください。
      パラメータ:
      direction - スクロールの方向
    • stopAutoScrolling

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

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

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

      public AccessibleContext getAccessibleContext()
      BasicComboPopupに関連付けられたAccessibleContextを取得します。 AccessibleContextの親はComboBoxに設定されています。
      定義:
      getAccessibleContext、インタフェースAccessible
      オーバーライド:
      getAccessibleContext、クラスJPopupMenu
      戻り値:
      BasicComboPopupのAccessibleContext
      導入されたバージョン:
      1.5
    • delegateFocus

      protected void delegateFocus(MouseEvent e)
      これは、イベント・ハンドラがポップアップが表示されたときにフォーカスを送信する場所を把握するのに役立つユーティリティ・メソッドです。 標準的な実装では、コンボボックスが編集可能な場合はエディタにフォーカスを委譲し、編集不可能な場合はJComboBoxに委譲します。
      パラメータ:
      e - マウス・イベント
    • togglePopup

      protected void togglePopup()
      ポップアップが非表示になっている場合は表示し、表示されていれば非表示にします。
    • convertMouseEvent

      protected MouseEvent convertMouseEvent(MouseEvent e)
      マウス・イベントを変換します。
      パラメータ:
      e - マウス・イベント
      戻り値:
      変換されたマウス・イベント
    • getPopupHeightForRowCount

      protected int getPopupHeightForRowCount(int maxRowCount)
      現在のListCellRendererに基づくポップアップの高さと、最大行数を取得します。
      パラメータ:
      maxRowCount - 行数
      戻り値:
      ポップアップの高さ
    • computePopupBounds

      protected Rectangle computePopupBounds(int px, int py, int pw, int ph)
      コンボボックスの位置と画面の囲み境界に基づいて、コンボボックスのポップアップ部分の配置とサイズを計算します。 変換が必要ない場合、返される矩形の値はパラメータと同じになります。
      パラメータ:
      px - 開始のx位置
      py - 開始のy位置
      pw - 開始の幅
      ph - 開始の高さ
      戻り値:
      ポップアップの配置とサイズを表す矩形
    • updateListBoxSelectionForEvent

      protected void updateListBoxSelectionForEvent(MouseEvent anEvent, boolean shouldScroll)
      イベント・リスナーが使用するユーティリティ・メソッドです。 マウス・イベントを受けて、マウスの下にあるリスト項目のリスト選択を変更します。
      パラメータ:
      anEvent - マウス・イベント
      shouldScroll - trueリストをスクロールする必要がある場合。