javax.swing.plaf.basic

Class BasicComboPopup

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

public class BasicComboPopup
extends JPopupMenu
implements ComboPopup

UI Delegate for ComboPopup
See Also:
Serialized Form

Nested Class Summary

class
BasicComboPopup.InvocationKeyHandler
This class is not used anymore
protected class
BasicComboPopup.InvocationMouseHandler
InvocationMouseHandler is a listener that listens to mouse events occuring in the combo box.
protected class
BasicComboPopup.InvocationMouseMotionHandler
InvocationMouseMotionListener is a mouse listener that listens to mouse dragging events occuring in the combo box.
protected class
BasicComboPopup.ItemHandler
ItemHandler is an item listener that listens to selection events occuring in the combo box.
class
BasicComboPopup.ListDataHandler
This class is not used any more.
protected class
BasicComboPopup.ListMouseHandler
ListMouseHandler is a listener that listens to mouse events occuring in the combo box's list of items.
protected class
BasicComboPopup.ListMouseMotionHandler
ListMouseMotionHandler listens to mouse motion events occuring in the combo box's list.
protected class
BasicComboPopup.ListSelectionHandler
This class is not used anymore
protected class
BasicComboPopup.PropertyChangeHandler
This class listens to changes occuring in the bound properties of the combo box

Nested classes/interfaces inherited from class javax.swing.JPopupMenu

JPopupMenu.AccessibleJPopupMenu, JPopupMenu.Separator

Nested classes/interfaces inherited from class javax.swing.JComponent

JComponent.AccessibleJComponent

Nested classes/interfaces inherited from class java.awt.Container

Container.AccessibleAWTContainer

Nested classes/interfaces inherited from class java.awt.Component

Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy

Field Summary

protected static int
SCROLL_DOWN
direction for scrolling down list of combo box's items
protected static int
SCROLL_UP
direction for scrolling up list of combo box's items
protected Timer
autoscrollTimer
protected JComboBox
comboBox
ComboBox associated with this popup
protected boolean
hasEntered
FIXME: Need to document
protected boolean
isAutoScrolling
Indicates whether the scroll bar located in popup menu with comboBox's list of items is currently autoscrolling.
protected ItemListener
itemListener
ItemListener listening to the selection changes in the combo box
protected KeyListener
keyListener
This listener is not used
protected JList
list
JList which is used to display item is the combo box
protected ListDataListener
listDataListener
This listener is not used
protected MouseListener
listMouseListener
MouseListener listening to mouse events occuring in the combo box's list.
protected MouseMotionListener
listMouseMotionListener
MouseMotionListener listening to mouse motion events occuring in the combo box's list
protected ListSelectionListener
listSelectionListener
This listener is not used
protected MouseListener
mouseListener
MouseListener listening to mouse events occuring in the combo box
protected MouseMotionListener
mouseMotionListener
MouseMotionListener listening to mouse motion events occuring in the combo box
protected PropertyChangeListener
propertyChangeListener
PropertyChangeListener listening to changes occuring in the bound properties of the combo box
protected int
scrollDirection
Indicates auto scrolling direction
protected JScrollPane
scroller
JScrollPane that contains list portion of the combo box
protected boolean
valueIsAdjusting
This field is not used

Fields inherited from class javax.swing.JPopupMenu

selectionModel

Fields inherited from class javax.swing.JComponent

TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, accessibleContext, listenerList, ui

Fields inherited from class java.awt.Component

BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Fields inherited from interface java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Constructor Summary

BasicComboPopup(JComboBox comboBox)
Creates a new BasicComboPopup object.

Method Summary

protected void
autoScrollDown()
This method scrolls down list of combo box's and highlights item in the list that just became visible.
protected void
autoScrollUp()
This method scrolls up list of combo box's items up and highlights that just became visible.
protected Rectangle
computePopupBounds(int px, int py, int pw, int ph)
DOCUMENT ME!
protected void
configureList()
This method configures the list of comboBox's items by setting default properties and installing listeners.
protected void
configurePopup()
This method configures popup menu that will be used to display Scrollpane with list of items inside of it.
protected void
configureScroller()
This method configures scroll pane to contain list of comboBox's items
protected MouseEvent
convertMouseEvent(MouseEvent e)
DOCUMENT ME!
protected ItemListener
createItemListener()
Creates new ItemListener that will listen to ItemEvents occuring in the combo box.
protected KeyListener
createKeyListener()
KeyListener created in this method is not used anymore.
protected JList
createList()
Creates JList that will be used to display items in the combo box.
protected ListDataListener
createListDataListener()
Creates ListDataListener.
protected MouseListener
createListMouseListener()
This method creates ListMouseListener to listen to mouse events occuring in the combo box's item list.
protected MouseMotionListener
createListMouseMotionListener()
Creates ListMouseMotionlistener to listen to mouse motion events occuring in the combo box's list.
protected ListSelectionListener
createListSelectionListener()
ListSelectionListener created in this method is not used anymore
protected MouseListener
createMouseListener()
Creates MouseListener to listen to mouse events occuring in the combo box.
protected MouseMotionListener
createMouseMotionListener()
Create Mouse listener that listens to mouse dragging events occuring in the combo box.
protected PropertyChangeListener
createPropertyChangeListener()
Creates PropertyChangeListener to handle changes in the JComboBox's bound properties.
protected JScrollPane
createScroller()
This method creates scroll pane that will contain the list of comboBox's items inside of it.
protected void
delegateFocus(MouseEvent e)
This method helps to delegate focus to the right component in the JComboBox.
protected void
firePopupMenuCanceled()
This method fires PopupMenuEvent indicating that combo box's popup list of items was closed without selection.
protected void
firePopupMenuWillBecomeInvisible()
This method fires PopupMenuEvent indicating that combo box's popup list of items will become invisible.
protected void
firePopupMenuWillBecomeVisible()
This method fires PopupMenuEvent indicating that combo box's popup list of items will become visible
KeyListener
getKeyListener()
Returns KeyListener listening to key events occuring in the combo box.
JList
getList()
Return list cointaining JComboBox's items
MouseListener
getMouseListener()
Returns MouseListener that is listening to mouse events occuring in the combo box.
MouseMotionListener
getMouseMotionListener()
Returns MouseMotionListener that is listening to mouse motion events occuring in the combo box.
protected int
getPopupHeightForRowCount(int maxRowCount)
Returns required height of the popup such that number of items visible in it are equal to the maximum row count.
void
hide()
This method hides drop down list of items
protected void
installComboBoxListeners()
protected void
installComboBoxModelListeners(ComboBoxModel model)
This method installs listeners that will listen to changes occuring in the comb box's data model
protected void
installKeyboardActions()
Installs the keyboard actions.
protected void
installListListeners()
This method installs list listeners.
boolean
isFocusTraversable()
This method always returns false to indicate that items in the combo box list are not focus traversable.
void
show()
This method displays drow down list of combo box items on the screen.
protected void
startAutoScrolling(int direction)
This method start scrolling combo box's list of items either up or down depending on the specified 'direction'
protected void
stopAutoScrolling()
This method stops scrolling the combo box's list of items
protected void
togglePopup()
This method displays combo box popup if the popup is not currently shown on the screen and hides it if it is currently visible
protected void
uninstallComboBoxModelListeners(ComboBoxModel model)
This method uninstalls listeners that were listening to changes occuring in the comb box's data model
protected void
uninstallKeyboardActions()
This method uninstalls keyboard actions installed by the UI.
void
uninstallingUI()
This method uninstalls the UI for the given JComponent.
protected void
updateListBoxSelectionForEvent(MouseEvent anEvent, boolean shouldScroll)
This method changes the selection in the list to the item over which the mouse is currently located.

Methods inherited from class javax.swing.JPopupMenu

add, add, add, addMenuKeyListener, addPopupMenuListener, addSeparator, createActionChangeListener, createActionComponent, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getComponent, getComponentAtIndex, getComponentIndex, getDefaultLightWeightPopupEnabled, getInvoker, getLabel, getMargin, getMenuKeyListeners, getPopupMenuListeners, getSelectionModel, getSubElements, getUI, getUIClassID, insert, insert, isBorderPainted, isLightWeightPopupEnabled, isPopupTrigger, isVisible, menuSelectionChanged, pack, paramString, processKeyEvent, processMouseEvent, remove, removeMenuKeyListener, removePopupMenuListener, setBorderPainted, setDefaultLightWeightPopupEnabled, setInvoker, setLabel, setLightWeightPopupEnabled, setLocation, setPopupSize, setPopupSize, setSelected, setSelectionModel, setUI, setVisible, show, updateUI

Methods inherited from class javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI

Methods inherited from class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, extends EventListener> T[] getListeners, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponentZOrder, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree

Methods inherited from class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFocusable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFocusable, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

SCROLL_DOWN
direction for scrolling down list of combo box's items
Field Value:
1

SCROLL_UP
direction for scrolling up list of combo box's items
Field Value:
0

autoscrollTimer

protected Timer autoscrollTimer

comboBox

protected JComboBox comboBox
ComboBox associated with this popup

hasEntered

protected boolean hasEntered
FIXME: Need to document

isAutoScrolling

protected boolean isAutoScrolling
Indicates whether the scroll bar located in popup menu with comboBox's list of items is currently autoscrolling. This happens when mouse event originated in the combo box and is dragged outside of its bounds

itemListener

protected ItemListener itemListener
ItemListener listening to the selection changes in the combo box

keyListener

protected KeyListener keyListener
This listener is not used

list

protected JList list
JList which is used to display item is the combo box

listDataListener

protected ListDataListener listDataListener
This listener is not used

listMouseListener

protected MouseListener listMouseListener
MouseListener listening to mouse events occuring in the combo box's list.

listMouseMotionListener

protected MouseMotionListener listMouseMotionListener
MouseMotionListener listening to mouse motion events occuring in the combo box's list

listSelectionListener

protected ListSelectionListener listSelectionListener
This listener is not used

mouseListener

protected MouseListener mouseListener
MouseListener listening to mouse events occuring in the combo box

mouseMotionListener

protected MouseMotionListener mouseMotionListener
MouseMotionListener listening to mouse motion events occuring in the combo box

propertyChangeListener

protected PropertyChangeListener propertyChangeListener
PropertyChangeListener listening to changes occuring in the bound properties of the combo box

scrollDirection

protected int scrollDirection
Indicates auto scrolling direction

scroller

protected JScrollPane scroller
JScrollPane that contains list portion of the combo box

valueIsAdjusting

protected boolean valueIsAdjusting
This field is not used

Constructor Details

BasicComboPopup

public BasicComboPopup(JComboBox comboBox)
Creates a new BasicComboPopup object.
Parameters:
comboBox - the combo box with which this popup should be associated

Method Details

autoScrollDown

protected void autoScrollDown()
This method