Class JCommandPopupMenu
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.pushingpixels.flamingo.api.common.popup.JPopupPanel
org.pushingpixels.flamingo.api.common.popup.JCommandPopupMenu
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
JColorSelectorPopupMenu
Popup menu. Can host any number of command menu buttons added with
addMenuButton(JCommandMenuButton)
separated with optional
addMenuSeparator()
. The
JCommandPopupMenu(JCommandButtonPanel, int, int)
constructor allows
placing a scrollable command button panel in the top part of the popup menu.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.pushingpixels.flamingo.api.common.popup.JPopupPanel
JPopupPanel.PopupPanelCustomizer
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JCommandButtonPanel
The main button panel.protected int
Maximum number of button columns visible in themainButtonPanel
.protected int
Maximum number of button rows visible in themainButtonPanel
.protected int
Maximum number of menu items visible in this menu.Menu components.static final String
Fields inherited from class org.pushingpixels.flamingo.api.common.popup.JPopupPanel
customizer
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
Fields inherited from class java.awt.Component
accessibleContext, 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
ConstructorsConstructorDescriptionCreates an empty popup menu with no button panel.JCommandPopupMenu
(JCommandButtonPanel buttonPanel, int maxButtonColumns, int maxVisibleButtonRows) Creates a popup menu hosting the specified button panel. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the specified change listener to track changes to this popup menu.void
addMenuButton
(JCommandMenuButton menuButton) Adds the specified menu button to this menu.void
addMenuButton
(JCommandToggleMenuButton menuButton) Adds the specified toggle menu button to this menu.protected void
addMenuPanel
(JPanel menuPanel) Adds a menu panel to this menu.void
Adds a menu separator to this menu.protected void
Notifies all registered listener that the state of this popup menu has changed.Returns the command button panel of this menu.int
Returns the maximum number of button columns visible in the command button panel of this menu.int
Returns the maximum number of button rows visible in the command button panel of this menu.int
Returns the maximum number of menu items visible in this menu.Returns an unmodifiable list of all the menu components.boolean
Returns indication whether this menu has a command button panel.boolean
void
Removes the specified change listener from tracking changes to this popup menu.void
setMaxVisibleMenuButtons
(int maxVisibleMenuButtons) Sets the maximum number of menu items visible in this menu.void
setToDismissOnChildClick
(boolean toDismissOnChildClick) void
updateUI()
Methods inherited from class org.pushingpixels.flamingo.api.common.popup.JPopupPanel
getCustomizer, getUI, setCustomizer, setUI
Methods inherited from class javax.swing.JPanel
getAccessibleContext, paramString, setUI
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, getPreferredSize, 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, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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, setVisible, 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, 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, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, 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, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
uiClassID
- See Also:
-
mainButtonPanel
The main button panel. Can benull
if this command popup menu was created with theJCommandPopupMenu()
constructor.- See Also:
-
maxButtonColumns
protected int maxButtonColumnsMaximum number of button columns visible in themainButtonPanel
.- See Also:
-
maxVisibleButtonRows
protected int maxVisibleButtonRowsMaximum number of button rows visible in themainButtonPanel
.- See Also:
-
maxVisibleMenuButtons
protected int maxVisibleMenuButtonsMaximum number of menu items visible in this menu. If more buttons are added with theaddMenuButton(JCommandMenuButton)
andaddMenuButton(JCommandToggleMenuButton)
APIs, the menu part will show scroller buttons above the first and below the last menu button. If the value is negative, there is no limitation on how many menu buttons are shown, and the entire popup menu can overflow the monitor edges.
-
-
Constructor Details
-
JCommandPopupMenu
public JCommandPopupMenu()Creates an empty popup menu with no button panel. -
JCommandPopupMenu
public JCommandPopupMenu(JCommandButtonPanel buttonPanel, int maxButtonColumns, int maxVisibleButtonRows) Creates a popup menu hosting the specified button panel.- Parameters:
buttonPanel
- Fully constructed button panel.maxButtonColumns
- Maximum number of button columns visible inbuttonPanel
.maxVisibleButtonRows
- Maximum number of button rows visible inbuttonPanel
.
-
-
Method Details
-
addMenuButton
Adds the specified menu button to this menu.- Parameters:
menuButton
- Menu button to add.
-
addMenuButton
Adds the specified toggle menu button to this menu.- Parameters:
menuButton
- Menu button to add.
-
addMenuSeparator
public void addMenuSeparator()Adds a menu separator to this menu. -
addMenuPanel
Adds a menu panel to this menu.- Parameters:
menuPanel
- Menu panel to add.
-
hasCommandButtonPanel
public boolean hasCommandButtonPanel()Returns indication whether this menu has a command button panel.- Returns:
true
if this menu has a command button panel,false
otherwise.- See Also:
-
getMainButtonPanel
Returns the command button panel of this menu. Can returnnull
.- Returns:
- The command button panel of this menu.
- See Also:
-
getMenuComponents
Returns an unmodifiable list of all the menu components. Can returnnull
.- Returns:
- An unmodifiable list of all the menu components
-
getMaxButtonColumns
public int getMaxButtonColumns()Returns the maximum number of button columns visible in the command button panel of this menu. If this menu has been created with theJCommandPopupMenu()
constructor, zero is returned.- Returns:
- The maximum number of button columns visible in the command button panel of this menu.
- See Also:
-
getMaxVisibleButtonRows
public int getMaxVisibleButtonRows()Returns the maximum number of button rows visible in the command button panel of this menu. If this menu has been created with theJCommandPopupMenu()
constructor, zero is returned.- Returns:
- The maximum number of button rows visible in the command button panel of this menu.
- See Also:
-
getMaxVisibleMenuButtons
public int getMaxVisibleMenuButtons()Returns the maximum number of menu items visible in this menu.- Returns:
- The maximum number of menu items visible in this menu. If the value is negative, there is no limitation on how many menu buttons are shown, and the entire popup menu can overflow the monitor edges.
-
setMaxVisibleMenuButtons
public void setMaxVisibleMenuButtons(int maxVisibleMenuButtons) Sets the maximum number of menu items visible in this menu. If the value is negative, there is no limitation on how many menu buttons are shown, and the entire popup menu can overflow the monitor edges.- Parameters:
maxVisibleMenuButtons
- The new value for the maximum number of menu items visible in this menu.
-
getUIClassID
- Overrides:
getUIClassID
in classJPopupPanel
-
updateUI
public void updateUI()- Overrides:
updateUI
in classJPopupPanel
-
addChangeListener
Adds the specified change listener to track changes to this popup menu.- Parameters:
l
- Change listener to add.- See Also:
-
removeChangeListener
Removes the specified change listener from tracking changes to this popup menu.- Parameters:
l
- Change listener to remove.- See Also:
-
fireStateChanged
protected void fireStateChanged()Notifies all registered listener that the state of this popup menu has changed. -
isToDismissOnChildClick
public boolean isToDismissOnChildClick() -
setToDismissOnChildClick
public void setToDismissOnChildClick(boolean toDismissOnChildClick)
-