Quaqua 5.4.1 2009-07-14

ch.randelshofer.quaqua
Class QuaquaComboPopup

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPopupMenu
                  extended by javax.swing.plaf.basic.BasicComboPopup
                      extended by ch.randelshofer.quaqua.QuaquaComboPopup
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.MenuElement, javax.swing.plaf.basic.ComboPopup

public class QuaquaComboPopup
extends javax.swing.plaf.basic.BasicComboPopup

QuaquaComboPopup.

Version:
$Id: QuaquaComboPopup.java 105 2009-07-14 08:35:58Z wrandelshofer $
Author:
Werner Randelshofer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicComboPopup
javax.swing.plaf.basic.BasicComboPopup.InvocationKeyHandler, javax.swing.plaf.basic.BasicComboPopup.InvocationMouseHandler, javax.swing.plaf.basic.BasicComboPopup.InvocationMouseMotionHandler, javax.swing.plaf.basic.BasicComboPopup.ItemHandler, javax.swing.plaf.basic.BasicComboPopup.ListDataHandler, javax.swing.plaf.basic.BasicComboPopup.ListMouseHandler, javax.swing.plaf.basic.BasicComboPopup.ListMouseMotionHandler, javax.swing.plaf.basic.BasicComboPopup.ListSelectionHandler, javax.swing.plaf.basic.BasicComboPopup.PropertyChangeHandler
 
Nested classes/interfaces inherited from class javax.swing.JPopupMenu
javax.swing.JPopupMenu.AccessibleJPopupMenu, javax.swing.JPopupMenu.Separator
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.plaf.basic.BasicComboPopup
autoscrollTimer, comboBox, hasEntered, isAutoScrolling, itemListener, keyListener, list, listDataListener, listMouseListener, listMouseMotionListener, listSelectionListener, mouseListener, mouseMotionListener, propertyChangeListener, SCROLL_DOWN, SCROLL_UP, scrollDirection, scroller, valueIsAdjusting
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
QuaquaComboPopup(javax.swing.JComboBox cBox, QuaquaComboBoxUI qqui)
           
 
Method Summary
protected  java.awt.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.
protected  void configureList()
           
protected  void configurePopup()
          Configures the popup portion of the combo box.
protected  java.awt.event.ItemListener createItemListener()
          Creates an ItemListener which will be added to the combo box.
protected  java.awt.event.KeyListener createKeyListener()
          Creates the key listener that will be added to the combo box.
protected  javax.swing.event.ListDataListener createListDataListener()
          Creates a list data listener which will be added to the ComboBoxModel.
protected  java.awt.event.MouseListener createListMouseListener()
          Creates a mouse listener that watches for mouse events in the popup's list.
protected  java.awt.event.MouseMotionListener createListMouseMotionListener()
          Creates a mouse motion listener that watches for mouse motion events in the popup's list.
protected  javax.swing.event.ListSelectionListener createListSelectionListener()
          Creates a list selection listener that watches for selection changes in the popup's list.
protected  java.awt.event.MouseListener createMouseListener()
          Creates a listener that will watch for mouse-press and release events on the combo box.
protected  java.awt.event.MouseMotionListener createMouseMotionListener()
          Creates the mouse motion listener which will be added to the combo box.
protected  java.beans.PropertyChangeListener createPropertyChangeListener()
          Creates a PropertyChangeListener which will be added to the combo box.
 void hide()
          Implementation of ComboPopup.hide().
 void setVisible(boolean newValue)
           
 void show()
          Implementation of ComboPopup.show().
 
Methods inherited from class javax.swing.plaf.basic.BasicComboPopup
autoScrollDown, autoScrollUp, configureScroller, convertMouseEvent, createList, createScroller, delegateFocus, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getKeyListener, getList, getMouseListener, getMouseMotionListener, getPopupHeightForRowCount, installComboBoxListeners, installComboBoxModelListeners, installKeyboardActions, installListListeners, isFocusTraversable, startAutoScrolling, stopAutoScrolling, togglePopup, uninstallComboBoxModelListeners, uninstallingUI, uninstallKeyboardActions, updateListBoxSelectionForEvent
 
Methods inherited from class javax.swing.JPopupMenu
add, add, add, addMenuKeyListener, addPopupMenuListener, addSeparator, createActionChangeListener, createActionComponent, getComponent, getComponentAtIndex, getComponentIndex, getDefaultLightWeightPopupEnabled, getInvoker, getLabel, getMargin, getMenuKeyListeners, getPopupMenuListeners, getSelectionModel, getSubElements, getUI, getUIClassID, insert, insert, isBorderPainted, isLightWeightPopupEnabled, isPopupTrigger, isVisible, menuSelectionChanged, pack, paintBorder, paramString, processFocusEvent, processKeyEvent, processKeyEvent, processMouseEvent, remove, removeMenuKeyListener, removePopupMenuListener, setBorderPainted, setDefaultLightWeightPopupEnabled, setInvoker, setLabel, setLightWeightPopupEnabled, setLocation, setPopupSize, setPopupSize, setSelected, setSelectionModel, setUI, show, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.swing.plaf.basic.ComboPopup
isVisible
 

Constructor Detail

QuaquaComboPopup

public QuaquaComboPopup(javax.swing.JComboBox cBox,
                        QuaquaComboBoxUI qqui)
Method Detail

show

public void show()
Implementation of ComboPopup.show().

Specified by:
show in interface javax.swing.plaf.basic.ComboPopup
Overrides:
show in class javax.swing.plaf.basic.BasicComboPopup

hide

public void hide()
Implementation of ComboPopup.hide().

Specified by:
hide in interface javax.swing.plaf.basic.ComboPopup
Overrides:
hide in class javax.swing.plaf.basic.BasicComboPopup

setVisible

public void setVisible(boolean newValue)
Overrides:
setVisible in class javax.swing.JPopupMenu

computePopupBounds

protected java.awt.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.

Overrides:
computePopupBounds in class javax.swing.plaf.basic.BasicComboPopup
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

configurePopup

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

Overrides:
configurePopup in class javax.swing.plaf.basic.BasicComboPopup

configureList

protected void configureList()
Overrides:
configureList in class javax.swing.plaf.basic.BasicComboPopup

createMouseListener

protected java.awt.event.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.

Overrides:
createMouseListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
a MouseListener which will be added to the combo box or null

createMouseMotionListener

protected java.awt.event.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.

Overrides:
createMouseMotionListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
a MouseMotionListener which will be added to the combo box or null

createKeyListener

protected java.awt.event.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.

Overrides:
createKeyListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
a KeyListener or null

createListSelectionListener

protected javax.swing.event.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.

Overrides:
createListSelectionListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
an instance of a ListSelectionListener or null

createListDataListener

protected javax.swing.event.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.

Overrides:
createListDataListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
an instance of a ListDataListener or null

createListMouseListener

protected java.awt.event.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.

Overrides:
createListMouseListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
an instance of a MouseListener or null

createListMouseMotionListener

protected java.awt.event.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.

Overrides:
createListMouseMotionListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
an instance of a MouseMotionListener or null

createPropertyChangeListener

protected java.beans.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.

Overrides:
createPropertyChangeListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
an instance of a PropertyChangeListener or null

createItemListener

protected java.awt.event.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.

Overrides:
createItemListener in class javax.swing.plaf.basic.BasicComboPopup
Returns:
an instance of an ItemListener or null

Copyright 2003-2007 (c) Werner Randelshofer.
All rights reserved.