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.PopupPanelCustomizerNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JCommandButtonPanelThe main button panel.protected intMaximum number of button columns visible in themainButtonPanel.protected intMaximum number of button rows visible in themainButtonPanel.protected intMaximum number of menu items visible in this menu.Menu components.static final StringFields inherited from class org.pushingpixels.flamingo.api.common.popup.JPopupPanel
customizerFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 TypeMethodDescriptionvoidAdds the specified change listener to track changes to this popup menu.voidaddMenuButton(JCommandMenuButton menuButton) Adds the specified menu button to this menu.voidaddMenuButton(JCommandToggleMenuButton menuButton) Adds the specified toggle menu button to this menu.protected voidaddMenuPanel(JPanel menuPanel) Adds a menu panel to this menu.voidAdds a menu separator to this menu.protected voidNotifies all registered listener that the state of this popup menu has changed.Returns the command button panel of this menu.intReturns the maximum number of button columns visible in the command button panel of this menu.intReturns the maximum number of button rows visible in the command button panel of this menu.intReturns the maximum number of menu items visible in this menu.Returns an unmodifiable list of all the menu components.booleanReturns indication whether this menu has a command button panel.booleanvoidRemoves the specified change listener from tracking changes to this popup menu.voidsetMaxVisibleMenuButtons(int maxVisibleMenuButtons) Sets the maximum number of menu items visible in this menu.voidsetToDismissOnChildClick(boolean toDismissOnChildClick) voidupdateUI()Methods inherited from class org.pushingpixels.flamingo.api.common.popup.JPopupPanel
getCustomizer, getUI, setCustomizer, setUIMethods inherited from class javax.swing.JPanel
getAccessibleContext, paramString, setUIMethods 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, updateMethods 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, validateTreeMethods 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 benullif this command popup menu was created with theJCommandPopupMenu()constructor. -
maxButtonColumns
protected int maxButtonColumnsMaximum number of button columns visible in themainButtonPanel. -
maxVisibleButtonRows
protected int maxVisibleButtonRowsMaximum number of button rows visible in themainButtonPanel. -
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:
trueif this menu has a command button panel,falseotherwise.- 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:
getUIClassIDin classJPopupPanel
-
updateUI
public void updateUI()- Overrides:
updateUIin 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)
-