Class AbstractRibbonBand
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.pushingpixels.radiance.component.api.ribbon.AbstractRibbonBand
- All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable
- Direct Known Subclasses:
JFlowRibbonBand, JRibbonBand
Ribbon band. Is part of a logical
RibbonTask. This is an abstract
base class for two types of ribbon bands - flow in JFlowRibbonBand
and general in JRibbonBand.
This class provides the following common functionality:
- Tracking the available and current resize policies.
- Tracking the collapsed state of the ribbon band - when there is not
enough horizontal space to show this panel under the smallest resize setting
(see
RibbonBandResizePolicyandCoreRibbonResizePolicies) - the band content is replaced by one collapsed button. When that button is activated, the original ribbon band content is shown in a popup panel. - Associating key tip and rich tooltip with the expand button of the ribbon band.
- Associating key tip with the collapsed button of the ribbon band.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StringThe key tip for the collapsed button which is shown when there is not enough horizontal space to show the ribbon band content under the most restrictive resize policy.private AbstractBandControlPanelBand control panel.private RibbonBandResizePolicyThe current resize policy for this band.private StringThe key tip for the ribbon band expand button.private RichTooltipThe rich tooltip for the ribbon band expand button.private CommandActionOptionalexpandaction listener.private RadianceIcon.FactoryIcon factory for the collapsed state.private AbstractRibbonBandRibbon band shown in a popup panel when this ribbon band is in a collapsed state.protected List<RibbonBandResizePolicy> The list of available resize policies.private RibbonTaskThe ribbon task of this ribbon band.private StringBand title.static final StringThe UI class ID string.Fields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionAbstractRibbonBand(String title, RadianceIcon.Factory iconFactory, CommandAction expandCommandListener, AbstractBandControlPanel controlPanel) Creates a new ribbon band. -
Method Summary
Modifier and TypeMethodDescriptionabstract AbstractRibbonBandReturns a clone of this ribbon band.Returns the key tip for the collapsed button which is shown when there is not enough horizontal space to show the ribbon band content under the most restrictive resize policy.Returns the control panel ofthisribbon band.Returns the current resize policy of this ribbon band.Returns the key tip for the expand button of this ribbon band.Returns the rich tooltip for the expand button of this ribbon band.Returns the expand action listener ofthisribbon band.Returns the icon factory for the collapsed state.Returns the ribbon band shown in a popup panel when this ribbon band is in a collapsed state.Returns an unmodifiable list of available resize policies of this ribbon band.getTitle()Returns the title ofthisband.getUI()Returns the UI delegate for this component.voidsetCollapsedStateKeyTip(String collapsedStateKeyTip) Changes the key tip for the collapsed button which is shown when there is not enough horizontal space to show the ribbon band content under the most restrictive resize policy.voidsetControlPanel(AbstractBandControlPanel controlPanel) Sets the control panel ofthisribbon band.voidsetCurrentResizePolicy(RibbonBandResizePolicy resizePolicy) Sets the specified parameter to be the current resize policy of this ribbon band.voidsetExpandButtonKeyTip(String expandButtonKeyTip) Changes the key tip for the expand button of this ribbon band.voidsetExpandButtonRichTooltip(RichTooltip expandButtonRichTooltip) Changes the rich tooltip for the expand button of this ribbon band.voidsetExpandCommandListener(CommandAction expandCommandListener) Sets the specified action listener to be activated when the user clicks the expand button on this ribbon band.voidsetPopupRibbonBand(AbstractRibbonBand popupRibbonBand) Sets the specified parameter to be the ribbon band shown in a popup panel when this ribbon band is in a collapsed state.voidsetResizePolicies(List<RibbonBandResizePolicy> resizePolicies) Sets the specified parameter as the available resize policies of this ribbon band.(package private) voidsetRibbonTask(RibbonTask ribbonTask) Associates this ribbon band with the specified ribbon task.voidChanges the title of this ribbon band.voidsetUI(RibbonBandUI ui) Sets the new UI delegate.voidupdateUI()Methods inherited from class 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, paramString, 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 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 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, getAccessibleContext, 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
-
ribbonTask
The ribbon task of this ribbon band. -
title
-
expandCommandListener
Optionalexpandaction listener. If present, the title pane shows button with plus sign. The action listener on the button will bethislistener.- See Also:
-
controlPanel
Band control panel. When there is not enough horizontal space to show this panel under the smallest resize setting, the control panel is hidden and a collapsed button is shown. When this collapsed button is activated, it shows thepopupRibbonBandin a popup panel. The collapsed button itself is implemented as a part of the UI delegate inBasicRibbonBandUI.- See Also:
-
popupRibbonBand
Ribbon band shown in a popup panel when this ribbon band is in a collapsed state.- See Also:
-
iconFactory
Icon factory for the collapsed state. Is set on the button that represents the collapsed state of this band. The collapsed button itself is implemented as a part of the UI delegate inBasicRibbonBandUI.- See Also:
-
currResizePolicy
The current resize policy for this band. Must be one of the policies in theresizePolicieslist.- See Also:
-
resizePolicies
The list of available resize policies.- See Also:
-
expandButtonKeyTip
The key tip for the ribbon band expand button. Is relevant only whenexpandCommandListeneris notnull.- See Also:
-
expandButtonRichTooltip
The rich tooltip for the ribbon band expand button. Is relevant only whenexpandCommandListeneris notnull.- See Also:
-
collapsedStateKeyTip
The key tip for the collapsed button which is shown when there is not enough horizontal space to show the ribbon band content under the most restrictive resize policy. The collapsed button itself is implemented as a part of the UI delegate inBasicRibbonBandUI.- See Also:
-
-
Constructor Details
-
AbstractRibbonBand
public AbstractRibbonBand(String title, RadianceIcon.Factory iconFactory, CommandAction expandCommandListener, AbstractBandControlPanel controlPanel) Creates a new ribbon band.- Parameters:
title- Band title.iconFactory- Associated icon factory (for collapsed state).expandCommandListener- Expand command listener (can benull).controlPanel- The control panel of this ribbon band.
-
-
Method Details
-
cloneBand
Returns a clone of this ribbon band.- Returns:
- A clone of this ribbon band.
-
getUI
Returns the UI delegate for this component.- Overrides:
getUIin classJComponent- Returns:
- a
RibbonBandUIobject - See Also:
-
setUI
-
updateUI
public void updateUI()- Overrides:
updateUIin classJComponent
-
getUIClassID
- Overrides:
getUIClassIDin classJComponent
-
getTitle
-
getIconFactory
Returns the icon factory for the collapsed state.- Returns:
- The icon factory for the collapsed state.
- See Also:
-
setTitle
Changes the title of this ribbon band. Fires atitleproperty change event.- Parameters:
title- The new title for this ribbon band.- See Also:
-
getExpandCommandListener
Returns the expand action listener ofthisribbon band. The result may benull.- Returns:
- Expand action listener of
thisribbon band. - See Also:
-
setExpandCommandListener
Sets the specified action listener to be activated when the user clicks the expand button on this ribbon band. Passingnullwill remove the expand button from this ribbon band.- Parameters:
expandCommandListener- Expand action listener for this ribbon band.- See Also:
-
getControlPanel
Returns the control panel ofthisribbon band. The result may benull.- Returns:
- Control panel of
thisribbon band. - See Also:
-
setControlPanel
Sets the control panel ofthisribbon band. The parameter may benull. This method is for internal use only.- Parameters:
controlPanel- The new control panel forthisribbon band. May benull.- See Also:
-
getPopupRibbonBand
Returns the ribbon band shown in a popup panel when this ribbon band is in a collapsed state. This method is for internal use only and should not be called by the application code.- Returns:
- The ribbon band shown in a popup panel when this ribbon band is in a collapsed state.
- See Also:
-
setPopupRibbonBand
Sets the specified parameter to be the ribbon band shown in a popup panel when this ribbon band is in a collapsed state. This method is for internal use only and should not be called by the application code.- Parameters:
popupRibbonBand- The ribbon band to be shown in a popup panel when this ribbon band is in a collapsed state.
-
getCurrentResizePolicy
Returns the current resize policy of this ribbon band.- Returns:
- The current resize policy of this ribbon band.
-
setCurrentResizePolicy
Sets the specified parameter to be the current resize policy of this ribbon band. This method is for internal use only and should not be called by the application code.- Parameters:
resizePolicy- The new resize policy for this ribbon band.- See Also:
-
getResizePolicies
Returns an unmodifiable list of available resize policies of this ribbon band.- Returns:
- An unmodifiable list of available resize policies of this ribbon band.
-
setResizePolicies
Sets the specified parameter as the available resize policies of this ribbon band. The order of the resize policies in this list is important. The first entry in the list must be the most permissive policies that returns the largest value from itsRibbonBandResizePolicy.getPreferredWidth(int, int). Each successive entry in the list must return the value smaller than its predecessors. IfCoreRibbonResizePolicies.IconRibbonBandResizePolicyis in the list, it must be the last entry.- Parameters:
resizePolicies- The new available resize policies of this ribbon band.
-
getExpandButtonKeyTip
Returns the key tip for the expand button of this ribbon band.- Returns:
- The key tip for the expand button of this ribbon band.
- See Also:
-
setExpandButtonKeyTip
Changes the key tip for the expand button of this ribbon band. Fires anexpandButtonKeyTipproperty change event.- Parameters:
expandButtonKeyTip- The new key tip for the expand button of this ribbon band.- See Also:
-
getExpandButtonRichTooltip
Returns the rich tooltip for the expand button of this ribbon band.- Returns:
- The rich tooltip for the expand button of this ribbon band.
- See Also:
-
setExpandButtonRichTooltip
Changes the rich tooltip for the expand button of this ribbon band. Fires anexpandButtonRichTooltipproperty change event.- Parameters:
expandButtonRichTooltip- The new rich tooltip for the expand button of this ribbon band.- See Also:
-
getCollapsedStateKeyTip
Returns the key tip for the collapsed button which is shown when there is not enough horizontal space to show the ribbon band content under the most restrictive resize policy.- Returns:
- The key tip for the collapsed button of this ribbon band.
- See Also:
-
setCollapsedStateKeyTip
Changes the key tip for the collapsed button which is shown when there is not enough horizontal space to show the ribbon band content under the most restrictive resize policy. Fires acollapsedStateKeyTipproperty change event.- Parameters:
collapsedStateKeyTip- The new key tip for the collapsed button of this ribbon band.- See Also:
-
setRibbonTask
Associates this ribbon band with the specified ribbon task.- Parameters:
ribbonTask- Ribbon task.- Throws:
IllegalArgumentException- When this ribbon band has already been associated with a ribbon task.
-