javax.swing.plaf.basic

Class BasicComboPopup

  • All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible, MenuElement, ComboPopup
    Direct Known Subclasses:
    MetalComboBoxUI.MetalComboPopup

    public class BasicComboPopup
    extends JPopupMenu
    implements ComboPopup
    This is a basic implementation of the ComboPopup interface. This class represents the ui for the popup portion of the combo box.

    All event handling is handled by listener classes created with the createxxxListener() methods and internal classes. You can change the behavior of this class by overriding the createxxxListener() methods and supplying your own event listeners or subclassing from the ones supplied in this class.

    Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

    • Field Detail

      • list

        protected JList list
        This protected field is implementation specific. Do not access directly or override. Use the accessor methods instead.
        See Also:
        getList(), createList()
      • scroller

        protected JScrollPane scroller
        This protected field is implementation specific. Do not access directly or override. Use the create method instead
        See Also:
        createScroller()
      • valueIsAdjusting

        protected boolean valueIsAdjusting
        As of Java 2 platform v1.4 this previously undocumented field is no longer used.
      • listMouseListener

        protected MouseListener listMouseListener
        This protected field is implementation specific. Do not access directly or override. Use the create method instead.
        See Also:
        createListMouseListener()
      • listDataListener

        protected ListDataListener listDataListener
        This protected field is implementation specific. Do not access directly or override. Use the create method instead
        See Also:
        createListDataListener()
      • itemListener

        protected ItemListener itemListener
        This protected field is implementation specific. Do not access directly or override. Use the create method instead
        See Also:
        createItemListener()
      • autoscrollTimer

        protected Timer autoscrollTimer
        This protected field is implementation specific. Do not access directly or override.
      • hasEntered

        protected boolean hasEntered
      • isAutoScrolling

        protected boolean isAutoScrolling
      • scrollDirection

        protected int scrollDirection
    • Constructor Detail

      • BasicComboPopup

        public BasicComboPopup(JComboBox combo)
    • Method Detail

      • show

        public void show()
        Implementation of ComboPopup.show().
        Specified by:
        show in interface ComboPopup
        Overrides:
        show in class Component
      • hide

        public void hide()
        Implementation of ComboPopup.hide().
        Specified by:
        hide in interface ComboPopup
        Overrides:
        hide in class JComponent
      • getList

        public JList getList()
        Implementation of ComboPopup.getList().
        Specified by:
        getList in interface ComboPopup
      • uninstallingUI

        public void uninstallingUI()
        Called when the UI is uninstalling. Since this popup isn't in the component tree, it won't get it's uninstallUI() called. It removes the listeners that were added in addComboBoxListeners().
        Specified by:
        uninstallingUI in interface ComboPopup
      • uninstallKeyboardActions

        protected void uninstallKeyboardActions()
      • firePopupMenuWillBecomeVisible

        protected void firePopupMenuWillBecomeVisible()
        Description copied from class: JPopupMenu
        Notifies PopupMenuListeners that this popup menu will become visible.
        Overrides:
        firePopupMenuWillBecomeVisible in class JPopupMenu
      • firePopupMenuWillBecomeInvisible

        protected void firePopupMenuWillBecomeInvisible()
        Description copied from class: JPopupMenu
        Notifies PopupMenuListeners that this popup menu will become invisible.
        Overrides:
        firePopupMenuWillBecomeInvisible in class JPopupMenu
      • firePopupMenuCanceled

        protected void firePopupMenuCanceled()
        Description copied from class: JPopupMenu
        Notifies PopupMenuListeners that this popup menu is cancelled.
        Overrides:
        firePopupMenuCanceled in class JPopupMenu
      • createMouseListener

        protected MouseListener createMouseListener()
        Creates a listener that will watch for mouse-press and release events on the combo box. Warning: When overriding this method, make sure to maintain the existing behavior.
        Returns:
        a MouseListener which will be added to the combo box or null
      • createMouseMotionListener

        protected MouseMotionListener createMouseMotionListener()
        Creates the mouse motion listener which will be added to the combo box. Warning: When overriding this method, make sure to maintain the existing behavior.
        Returns:
        a MouseMotionListener which will be added to the combo box or null
      • createKeyListener

        protected KeyListener createKeyListener()
        Creates the key listener that will be added to the combo box. If this method returns null then it will not be added to the combo box.
        Returns:
        a KeyListener or null
      • createListSelectionListener

        protected ListSelectionListener createListSelectionListener()
        Creates a list selection listener that watches for selection changes in the popup's list. If this method returns null then it will not be added to the popup list.
        Returns:
        an instance of a ListSelectionListener or null
      • createListDataListener

        protected ListDataListener createListDataListener()
        Creates a list data listener which will be added to the ComboBoxModel. If this method returns null then it will not be added to the combo box model.
        Returns:
        an instance of a ListDataListener or null
      • createListMouseListener

        protected MouseListener createListMouseListener()
        Creates a mouse listener that watches for mouse events in the popup's list. If this method returns null then it will not be added to the combo box.
        Returns:
        an instance of a MouseListener or null
      • createListMouseMotionListener

        protected MouseMotionListener createListMouseMotionListener()
        Creates a mouse motion listener that watches for mouse motion events in the popup's list. If this method returns null then it will not be added to the combo box.
        Returns:
        an instance of a MouseMotionListener or null
      • createPropertyChangeListener

        protected PropertyChangeListener createPropertyChangeListener()
        Creates a PropertyChangeListener which will be added to the combo box. If this method returns null then it will not be added to the combo box.
        Returns:
        an instance of a PropertyChangeListener or null
      • createItemListener

        protected ItemListener createItemListener()
        Creates an ItemListener which will be added to the combo box. If this method returns null then it will not be added to the combo box.

        Subclasses may override this method to return instances of their own ItemEvent handlers.

        Returns:
        an instance of an ItemListener or null
      • createList

        protected JList createList()
        Creates the JList used in the popup to display the items in the combo box model. This method is called when the UI class is created.
        Returns:
        a JList used to display the combo box items
      • configureList

        protected void configureList()
        Configures the list which is used to hold the combo box items in the popup. This method is called when the UI class is created.
        See Also:
        createList()
      • installListListeners

        protected void installListListeners()
        Adds the listeners to the list control.
      • createScroller

        protected JScrollPane createScroller()
        Creates the scroll pane which houses the scrollable list.
      • configureScroller

        protected void configureScroller()
        Configures the scrollable portion which holds the list within the combo box popup. This method is called when the UI class is created.
      • configurePopup

        protected void configurePopup()
        Configures the popup portion of the combo box. This method is called when the UI class is created.
      • installComboBoxListeners

        protected void installComboBoxListeners()
        This method adds the necessary listeners to the JComboBox.
      • installComboBoxModelListeners

        protected void installComboBoxModelListeners(ComboBoxModel model)
        Installs the listeners on the combo box model. Any listeners installed on the combo box model should be removed in uninstallComboBoxModelListeners.
        Parameters:
        model - The combo box model to install listeners
        See Also:
        uninstallComboBoxModelListeners(javax.swing.ComboBoxModel)
      • installKeyboardActions

        protected void installKeyboardActions()
      • startAutoScrolling

        protected void startAutoScrolling(int direction)
        This protected method is implementation specific and should be private. do not call or override.
      • stopAutoScrolling

        protected void stopAutoScrolling()
        This protected method is implementation specific and should be private. do not call or override.
      • autoScrollUp

        protected void autoScrollUp()
        This protected method is implementation specific and should be private. do not call or override.
      • autoScrollDown

        protected void autoScrollDown()
        This protected method is implementation specific and should be private. do not call or override.
      • delegateFocus

        protected void delegateFocus(MouseEvent e)
        This is is a utility method that helps event handlers figure out where to send the focus when the popup is brought up. The standard implementation delegates the focus to the editor (if the combo box is editable) or to the JComboBox if it is not editable.
      • togglePopup

        protected void togglePopup()
        Makes the popup visible if it is hidden and makes it hidden if it is visible.
      • getPopupHeightForRowCount

        protected int getPopupHeightForRowCount(int maxRowCount)
        Retrieves the height of the popup based on the current ListCellRenderer and the maximum row count.
      • computePopupBounds

        protected Rectangle computePopupBounds(int px,
                                   int py,
                                   int pw,
                                   int ph)
        Calculate the placement and size of the popup portion of the combo box based on the combo box location and the enclosing screen bounds. If no transformations are required, then the returned rectangle will have the same values as the parameters.
        Parameters:
        px - starting x location
        py - starting y location
        pw - starting width
        ph - starting height
        Returns:
        a rectangle which represents the placement and size of the popup
      • updateListBoxSelectionForEvent

        protected void updateListBoxSelectionForEvent(MouseEvent anEvent,
                                          boolean shouldScroll)
        A utility method used by the event listeners. Given a mouse event, it changes the list selection to the list item below the mouse.

Traduction non disponible

Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 31/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-javax/swing/plaf/basic/BasicComboPopup.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : https://docs.oracle.com, BasicComboPopup

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut