Package org.apache.batik.util.gui
Class DropDownComponent.ScrollablePopupMenu
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPopupMenu
-
- org.apache.batik.util.gui.DropDownComponent.ScrollablePopupMenu
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.MenuElement
- Enclosing class:
- DropDownComponent
public static class DropDownComponent.ScrollablePopupMenu extends javax.swing.JPopupMenuThe Scrollable Popup Menu Component.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.ResourceBundlebundleThe resource bundle.private javax.swing.event.EventListenerListeventListenersListeners list.private DropDownComponent.ScrollablePopupMenuItemfooterFooter item.private javax.swing.JPanelmenuPanelThe menu panel.private DropDownComponent.ScrollablePopupMenuModelmodelThe model for this component.private javax.swing.JComponentownerComponentThe owner component.private intpreferredHeightMax menu height.private static ResourceManagerresourcesThe resource manager.private static java.lang.StringRESOURCESThe resource file name.private javax.swing.JScrollPanescrollPaneThe scroll pane.-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description ScrollablePopupMenu(javax.swing.JComponent owner)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(DropDownComponent.ScrollablePopupMenuItem menuItem, int index, int oldSize, int newSize)Adds the item to this component at the specified location.private voidaddFooter(DropDownComponent.ScrollablePopupMenuItem footer)Adds the footer item to this pop up menu.voidaddListener(DropDownComponent.ScrollablePopupMenuListener listener)Adds the listener to the listener list.voidfireItemsWereAdded(DropDownComponent.ScrollablePopupMenuEvent event)Fires the itemsWereAdded event, when the items are added to this pop up menu.voidfireItemsWereRemoved(DropDownComponent.ScrollablePopupMenuEvent event)Fires the itemsWereRemove event, when the items are removed from this pop up menu.DropDownComponent.ScrollablePopupMenuItemgetFooter()Gets the footer item.DropDownComponent.ScrollablePopupMenuModelgetModel()Gets the ScrollablePopupMenuModeljavax.swing.JComponentgetOwner()Gets the owner component.private intgetPreferredHeight()Gets the preferred height of this component.java.awt.DimensiongetPreferredSize()private intgetPreferredWidth()Gets the preferred width of this pop up menu.intgetSelectedItemsCount()Gets the number of the selected items.private voidinit()Initializes this popup menu.voidprocessItemClicked()Processes click on the pop up menu item.voidremove(DropDownComponent.ScrollablePopupMenuItem menuItem, int oldSize, int newSize)Removes the item from this component.voidselectionChanged(DropDownComponent.ScrollablePopupMenuItem targetItem, boolean wasSelected)Invoked when item selection changes.voidsetModel(DropDownComponent.ScrollablePopupMenuModel model)Sets the ScrollablePopupMenuModel.voidshowMenu(java.awt.Component invoker, java.awt.Component refComponent)Shows this popup menu.-
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, paintBorder, paramString, processFocusEvent, processKeyEvent, 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, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
RESOURCES
private static final java.lang.String RESOURCES
The resource file name.- See Also:
- Constant Field Values
-
bundle
private static java.util.ResourceBundle bundle
The resource bundle.
-
resources
private static ResourceManager resources
The resource manager.
-
menuPanel
private javax.swing.JPanel menuPanel
The menu panel.
-
scrollPane
private javax.swing.JScrollPane scrollPane
The scroll pane.
-
preferredHeight
private int preferredHeight
Max menu height.
-
model
private DropDownComponent.ScrollablePopupMenuModel model
The model for this component.
-
ownerComponent
private javax.swing.JComponent ownerComponent
The owner component.
-
footer
private DropDownComponent.ScrollablePopupMenuItem footer
Footer item. Should be always shown at the bottom of this pop up.
-
eventListeners
private javax.swing.event.EventListenerList eventListeners
Listeners list.
-
-
Method Detail
-
init
private void init()
Initializes this popup menu.
-
showMenu
public void showMenu(java.awt.Component invoker, java.awt.Component refComponent)Shows this popup menu.- Parameters:
invoker- The popup menu invoker componentrefComponent- The dropdown component that containts this menu
-
add
public void add(DropDownComponent.ScrollablePopupMenuItem menuItem, int index, int oldSize, int newSize)
Adds the item to this component at the specified location.- Parameters:
menuItem- the item to add
-
remove
public void remove(DropDownComponent.ScrollablePopupMenuItem menuItem, int oldSize, int newSize)
Removes the item from this component.- Parameters:
menuItem- the item to remove
-
getPreferredWidth
private int getPreferredWidth()
Gets the preferred width of this pop up menu.- Returns:
- the preferred width
-
getPreferredHeight
private int getPreferredHeight()
Gets the preferred height of this component.- Returns:
- the preferred height
-
getPreferredSize
public java.awt.Dimension getPreferredSize()
- Overrides:
getPreferredSizein classjavax.swing.JComponent
-
selectionChanged
public void selectionChanged(DropDownComponent.ScrollablePopupMenuItem targetItem, boolean wasSelected)
Invoked when item selection changes.
-
setModel
public void setModel(DropDownComponent.ScrollablePopupMenuModel model)
Sets the ScrollablePopupMenuModel.- Parameters:
model- the model to set
-
getModel
public DropDownComponent.ScrollablePopupMenuModel getModel()
Gets the ScrollablePopupMenuModel- Returns:
- the ScrollablePopupMenuModel model
-
getSelectedItemsCount
public int getSelectedItemsCount()
Gets the number of the selected items.- Returns:
- number of selected items
-
processItemClicked
public void processItemClicked()
Processes click on the pop up menu item.
-
getOwner
public javax.swing.JComponent getOwner()
Gets the owner component.- Returns:
- the owner component
-
addFooter
private void addFooter(DropDownComponent.ScrollablePopupMenuItem footer)
Adds the footer item to this pop up menu.
-
getFooter
public DropDownComponent.ScrollablePopupMenuItem getFooter()
Gets the footer item.- Returns:
- the footer
-
addListener
public void addListener(DropDownComponent.ScrollablePopupMenuListener listener)
Adds the listener to the listener list.- Parameters:
listener- The listener to add
-
fireItemsWereAdded
public void fireItemsWereAdded(DropDownComponent.ScrollablePopupMenuEvent event)
Fires the itemsWereAdded event, when the items are added to this pop up menu.- Parameters:
event- The associated ScrollablePopupMenuEvent event
-
fireItemsWereRemoved
public void fireItemsWereRemoved(DropDownComponent.ScrollablePopupMenuEvent event)
Fires the itemsWereRemove event, when the items are removed from this pop up menu.- Parameters:
event- The associated ScrollablePopupMenuEvent event
-
-