模块  java.desktop

Class BasicComboPopup

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessibleMenuElementComboPopup
    已知直接子类:
    MetalComboBoxUI.MetalComboPopup

    public class BasicComboPopup
    extends JPopupMenu
    implements ComboPopup
    这是ComboPopup接口的基本实现。 此类表示组合框的弹出部分的ui。

    所有事件处理都由使用createxxxListener()方法和内部类创建的侦听器类处理。 您可以通过重写createxxxListener()方法并提供自己的事件侦听器或从此类中提供的子类化来更改此类的行为。

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    另请参见:
    Serialized Form
    • 字段详细信息

      • list

        protected JList<Object> list
        此受保护字段是特定于实现的。 不要直接访问或覆盖。 请改用访问器方法。
        另请参见:
        getList()createList()
      • scroller

        protected JScrollPane scroller
        此受保护字段是特定于实现的。 不要直接访问或覆盖。 请改用create方法
        另请参见:
        createScroller()
      • valueIsAdjusting

        protected boolean valueIsAdjusting
        从Java 2平台v1.4开始,不再使用此前未记录的字段。
      • listMouseListener

        protected MouseListener listMouseListener
        此受保护字段是特定于实现的。 不要直接访问或覆盖。 请改用create方法。
        另请参见:
        createListMouseListener()
      • listDataListener

        protected ListDataListener listDataListener
        此受保护字段是特定于实现的。 不要直接访问或覆盖。 请改用create方法
        另请参见:
        createListDataListener()
      • itemListener

        protected ItemListener itemListener
        此受保护字段是特定于实现的。 不要直接访问或覆盖。 请改用create方法
        另请参见:
        createItemListener()
      • autoscrollTimer

        protected Timer autoscrollTimer
        此受保护字段是特定于实现的。 不要直接访问或覆盖。
      • 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
    • 方法详细信息

      • getList

        public JList<Object> getList()
        ComboPopup.getList()的实现。
        Specified by:
        getList在界面 ComboPopup
        结果
        用于在组合框中绘制项目的列表
      • uninstallingUI

        public void uninstallingUI()
        在UI卸载时调用。 由于此弹出窗口不在组件树中,因此不会调用uninstallUI()。 它删除了addComboBoxListeners()中添加的侦听器。
        Specified by:
        uninstallingUI在界面 ComboPopup
      • uninstallKeyboardActions

        protected void uninstallKeyboardActions()
        取消注册键盘操作。
      • createMouseListener

        protected MouseListener createMouseListener()
        创建一个侦听器,用于监视组合框上的鼠标按下和释放事件。 警告:重写此方法时,请确保维护现有行为。
        结果
        a MouseListener将被添加到组合框中或为null
      • createMouseMotionListener

        protected MouseMotionListener createMouseMotionListener()
        创建将添加到组合框的鼠标移动侦听器。 警告:重写此方法时,请确保维护现有行为。
        结果
        a MouseMotionListener将被添加到组合框中或为null
      • createKeyListener

        protected KeyListener createKeyListener()
        创建将添加到组合框的键侦听器。 如果此方法返回null,则不会将其添加到组合框中。
        结果
        a KeyListener或null
      • createListSelectionListener

        protected ListSelectionListener createListSelectionListener()
        创建一个列表选择侦听器,用于监视弹出列表中的选择更改。 如果此方法返回null,则不会将其添加到弹出列表中。
        结果
        ListSelectionListener的实例或null
      • createListDataListener

        protected ListDataListener createListDataListener()
        创建将添加到ComboBoxModel的列表数据侦听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类时调用此方法。
        结果
        a JList用于显示组合框项目
      • configureList

        protected void configureList()
        配置用于保存弹出窗口中组合框项目的列表。 创建UI类时调用此方法。
        另请参见:
        createList()
      • installListListeners

        protected void installListListeners()
        将侦听器添加到列表控件。
      • createScroller

        protected JScrollPane createScroller()
        创建包含可滚动列表的滚动窗格。
        结果
        包含可滚动列表的滚动窗格
      • configureScroller

        protected void configureScroller()
        配置在组合框弹出窗口中保存列表的可滚动部分。 创建UI类时调用此方法。
      • configurePopup

        protected void configurePopup()
        配置组合框的弹出部分。 创建UI类时调用此方法。
      • installComboBoxListeners

        protected void installComboBoxListeners()
        此方法将必要的侦听器添加到JComboBox。
      • installKeyboardActions

        protected void installKeyboardActions()
        注册键盘操作。
      • startAutoScrolling

        protected void startAutoScrolling​(int direction)
        此受保护的方法是特定于实现的,应该是私有的。 不要打电话或覆盖。
        参数
        direction - 滚动的方向
      • stopAutoScrolling

        protected void stopAutoScrolling()
        此受保护的方法是特定于实现的,应该是私有的。 不要打电话或覆盖。
      • autoScrollUp

        protected void autoScrollUp()
        此受保护的方法是特定于实现的,应该是私有的。 不要打电话或覆盖。
      • autoScrollDown

        protected void autoScrollDown()
        此受保护的方法是特定于实现的,应该是私有的。 不要打电话或覆盖。
      • 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列表。