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.JPopupMenu
The 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.ResourceBundle
bundle
The resource bundle.private javax.swing.event.EventListenerList
eventListeners
Listeners list.private DropDownComponent.ScrollablePopupMenuItem
footer
Footer item.private javax.swing.JPanel
menuPanel
The menu panel.private DropDownComponent.ScrollablePopupMenuModel
model
The model for this component.private javax.swing.JComponent
ownerComponent
The owner component.private int
preferredHeight
Max menu height.private static ResourceManager
resources
The resource manager.private static java.lang.String
RESOURCES
The resource file name.private javax.swing.JScrollPane
scrollPane
The 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 void
add(DropDownComponent.ScrollablePopupMenuItem menuItem, int index, int oldSize, int newSize)
Adds the item to this component at the specified location.private void
addFooter(DropDownComponent.ScrollablePopupMenuItem footer)
Adds the footer item to this pop up menu.void
addListener(DropDownComponent.ScrollablePopupMenuListener listener)
Adds the listener to the listener list.void
fireItemsWereAdded(DropDownComponent.ScrollablePopupMenuEvent event)
Fires the itemsWereAdded event, when the items are added to this pop up menu.void
fireItemsWereRemoved(DropDownComponent.ScrollablePopupMenuEvent event)
Fires the itemsWereRemove event, when the items are removed from this pop up menu.DropDownComponent.ScrollablePopupMenuItem
getFooter()
Gets the footer item.DropDownComponent.ScrollablePopupMenuModel
getModel()
Gets the ScrollablePopupMenuModeljavax.swing.JComponent
getOwner()
Gets the owner component.private int
getPreferredHeight()
Gets the preferred height of this component.java.awt.Dimension
getPreferredSize()
private int
getPreferredWidth()
Gets the preferred width of this pop up menu.int
getSelectedItemsCount()
Gets the number of the selected items.private void
init()
Initializes this popup menu.void
processItemClicked()
Processes click on the pop up menu item.void
remove(DropDownComponent.ScrollablePopupMenuItem menuItem, int oldSize, int newSize)
Removes the item from this component.void
selectionChanged(DropDownComponent.ScrollablePopupMenuItem targetItem, boolean wasSelected)
Invoked when item selection changes.void
setModel(DropDownComponent.ScrollablePopupMenuModel model)
Sets the ScrollablePopupMenuModel.void
showMenu(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:
getPreferredSize
in 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
-
-