Class AbstractRibbonBand
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.pushingpixels.radiance.component.api.ribbon.AbstractRibbonBand
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
- Direct Known Subclasses:
JFlowRibbonBand
,JRibbonBand
public abstract class AbstractRibbonBand extends javax.swing.JComponent
Ribbon band. Is part of a logicalRibbonTask
. This is an abstract base class for two types of ribbon bands - flow inJFlowRibbonBand
and general inJRibbonBand
.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
RibbonBandResizePolicy
andCoreRibbonResizePolicies
) - 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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
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.private AbstractBandControlPanel
controlPanel
Band control panel.private RibbonBandResizePolicy
currResizePolicy
The current resize policy for this band.private java.lang.String
expandButtonKeyTip
The key tip for the ribbon band expand button.private RichTooltip
expandButtonRichTooltip
The rich tooltip for the ribbon band expand button.private CommandAction
expandCommandListener
Optionalexpand
action listener.private RadianceIcon.Factory
iconFactory
Icon factory for the collapsed state.private AbstractRibbonBand
popupRibbonBand
Ribbon band shown in a popup panel when this ribbon band is in a collapsed state.protected java.util.List<RibbonBandResizePolicy>
resizePolicies
The list of available resize policies.private RibbonTask
ribbonTask
The ribbon task of this ribbon band.private java.lang.String
title
Band title.static java.lang.String
uiClassID
The UI class ID string.-
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 AbstractRibbonBand(java.lang.String title, RadianceIcon.Factory iconFactory, CommandAction expandCommandListener, AbstractBandControlPanel controlPanel)
Creates a new ribbon band.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract AbstractRibbonBand
cloneBand()
Returns a clone of this ribbon band.java.lang.String
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.AbstractBandControlPanel
getControlPanel()
Returns the control panel ofthis
ribbon band.RibbonBandResizePolicy
getCurrentResizePolicy()
Returns the current resize policy of this ribbon band.java.lang.String
getExpandButtonKeyTip()
Returns the key tip for the expand button of this ribbon band.RichTooltip
getExpandButtonRichTooltip()
Returns the rich tooltip for the expand button of this ribbon band.CommandAction
getExpandCommandListener()
Returns the expand action listener ofthis
ribbon band.RadianceIcon.Factory
getIconFactory()
Returns the icon factory for the collapsed state.AbstractRibbonBand
getPopupRibbonBand()
Returns the ribbon band shown in a popup panel when this ribbon band is in a collapsed state.java.util.List<RibbonBandResizePolicy>
getResizePolicies()
Returns an unmodifiable list of available resize policies of this ribbon band.java.lang.String
getTitle()
Returns the title ofthis
band.RibbonBandUI
getUI()
Returns the UI delegate for this component.java.lang.String
getUIClassID()
void
setCollapsedStateKeyTip(java.lang.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.void
setControlPanel(AbstractBandControlPanel controlPanel)
Sets the control panel ofthis
ribbon band.void
setCurrentResizePolicy(RibbonBandResizePolicy resizePolicy)
Sets the specified parameter to be the current resize policy of this ribbon band.void
setExpandButtonKeyTip(java.lang.String expandButtonKeyTip)
Changes the key tip for the expand button of this ribbon band.void
setExpandButtonRichTooltip(RichTooltip expandButtonRichTooltip)
Changes the rich tooltip for the expand button of this ribbon band.void
setExpandCommandListener(CommandAction expandCommandListener)
Sets the specified action listener to be activated when the user clicks the expand button on this ribbon band.void
setPopupRibbonBand(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.void
setResizePolicies(java.util.List<RibbonBandResizePolicy> resizePolicies)
Sets the specified parameter as the available resize policies of this ribbon band.(package private) void
setRibbonTask(RibbonTask ribbonTask)
Associates this ribbon band with the specified ribbon task.void
setTitle(java.lang.String title)
Changes the title of this ribbon band.void
setUI(RibbonBandUI ui)
Sets the new UI delegate.void
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, 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, 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, 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 Detail
-
uiClassID
public static final java.lang.String uiClassID
The UI class ID string.- See Also:
- Constant Field Values
-
ribbonTask
private RibbonTask ribbonTask
The ribbon task of this ribbon band.
-
title
private java.lang.String title
Band title.- See Also:
getTitle()
,setTitle(String)
-
expandCommandListener
private CommandAction expandCommandListener
Optionalexpand
action listener. If present, the title pane shows button with plus sign. The action listener on the button will bethis
listener.
-
controlPanel
private AbstractBandControlPanel 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 thepopupRibbonBand
in a popup panel. The collapsed button itself is implemented as a part of the UI delegate inBasicRibbonBandUI
.- See Also:
popupRibbonBand
,iconFactory
-
popupRibbonBand
private AbstractRibbonBand popupRibbonBand
Ribbon band shown in a popup panel when this ribbon band is in a collapsed state.
-
iconFactory
private RadianceIcon.Factory 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:
getIconFactory()
-
currResizePolicy
private RibbonBandResizePolicy currResizePolicy
The current resize policy for this band. Must be one of the policies in theresizePolicies
list.
-
resizePolicies
protected java.util.List<RibbonBandResizePolicy> resizePolicies
The list of available resize policies.
-
expandButtonKeyTip
private java.lang.String expandButtonKeyTip
The key tip for the ribbon band expand button. Is relevant only whenexpandCommandListener
is notnull
.
-
expandButtonRichTooltip
private RichTooltip expandButtonRichTooltip
The rich tooltip for the ribbon band expand button. Is relevant only whenexpandCommandListener
is notnull
.
-
collapsedStateKeyTip
private java.lang.String 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
.
-
-
Constructor Detail
-
AbstractRibbonBand
public AbstractRibbonBand(java.lang.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 Detail
-
cloneBand
public abstract AbstractRibbonBand cloneBand()
Returns a clone of this ribbon band.- Returns:
- A clone of this ribbon band.
-
getUI
public RibbonBandUI getUI()
Returns the UI delegate for this component.- Overrides:
getUI
in classjavax.swing.JComponent
- Returns:
- a
RibbonBandUI
object - See Also:
setUI(org.pushingpixels.radiance.component.internal.ui.ribbon.RibbonBandUI)
-
setUI
public void setUI(RibbonBandUI ui)
Sets the new UI delegate.- Parameters:
ui
- New UI delegate.
-
updateUI
public void updateUI()
- Overrides:
updateUI
in classjavax.swing.JComponent
-
getUIClassID
public java.lang.String getUIClassID()
- Overrides:
getUIClassID
in classjavax.swing.JComponent
-
getTitle
public java.lang.String getTitle()
Returns the title ofthis
band.- Returns:
- Title of
this
band. - See Also:
setTitle(String)
-
getIconFactory
public RadianceIcon.Factory getIconFactory()
Returns the icon factory for the collapsed state.- Returns:
- The icon factory for the collapsed state.
- See Also:
AbstractRibbonBand(String, RadianceIcon.Factory, CommandAction, AbstractBandControlPanel)
-
setTitle
public void setTitle(java.lang.String title)
Changes the title of this ribbon band. Fires atitle
property change event.- Parameters:
title
- The new title for this ribbon band.- See Also:
AbstractRibbonBand(String, RadianceIcon.Factory, CommandAction, AbstractBandControlPanel)
,getTitle()
-
getExpandCommandListener
public CommandAction getExpandCommandListener()
Returns the expand action listener ofthis
ribbon band. The result may benull
.- Returns:
- Expand action listener of
this
ribbon band. - See Also:
AbstractRibbonBand(String, RadianceIcon.Factory, CommandAction, AbstractBandControlPanel)
,setExpandCommandListener(CommandAction)
-
setExpandCommandListener
public void setExpandCommandListener(CommandAction expandCommandListener)
Sets the specified action listener to be activated when the user clicks the expand button on this ribbon band. Passingnull
will remove the expand button from this ribbon band.- Parameters:
expandCommandListener
- Expand action listener for this ribbon band.- See Also:
getExpandCommandListener()
-
getControlPanel
public AbstractBandControlPanel getControlPanel()
Returns the control panel ofthis
ribbon band. The result may benull
.- Returns:
- Control panel of
this
ribbon band. - See Also:
AbstractRibbonBand(String, RadianceIcon.Factory, CommandAction, AbstractBandControlPanel)
,setControlPanel(AbstractBandControlPanel)
-
setControlPanel
public void setControlPanel(AbstractBandControlPanel controlPanel)
Sets the control panel ofthis
ribbon band. The parameter may benull
. This method is for internal use only.- Parameters:
controlPanel
- The new control panel forthis
ribbon band. May benull
.- See Also:
AbstractRibbonBand(String, RadianceIcon.Factory, CommandAction, AbstractBandControlPanel)
,getControlPanel()
-
getPopupRibbonBand
public AbstractRibbonBand 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(AbstractRibbonBand)
-
setPopupRibbonBand
public void setPopupRibbonBand(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. 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
public RibbonBandResizePolicy getCurrentResizePolicy()
Returns the current resize policy of this ribbon band.- Returns:
- The current resize policy of this ribbon band.
-
setCurrentResizePolicy
public void setCurrentResizePolicy(RibbonBandResizePolicy resizePolicy)
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:
getCurrentResizePolicy()
,getResizePolicies()
-
getResizePolicies
public java.util.List<RibbonBandResizePolicy> 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
public void setResizePolicies(java.util.List<RibbonBandResizePolicy> resizePolicies)
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.IconRibbonBandResizePolicy
is in the list, it must be the last entry.- Parameters:
resizePolicies
- The new available resize policies of this ribbon band.
-
getExpandButtonKeyTip
public java.lang.String 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(String)
-
setExpandButtonKeyTip
public void setExpandButtonKeyTip(java.lang.String expandButtonKeyTip)
Changes the key tip for the expand button of this ribbon band. Fires anexpandButtonKeyTip
property change event.- Parameters:
expandButtonKeyTip
- The new key tip for the expand button of this ribbon band.- See Also:
getExpandButtonKeyTip()
-
getExpandButtonRichTooltip
public RichTooltip 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(RichTooltip)
-
setExpandButtonRichTooltip
public void setExpandButtonRichTooltip(RichTooltip expandButtonRichTooltip)
Changes the rich tooltip for the expand button of this ribbon band. Fires anexpandButtonRichTooltip
property change event.- Parameters:
expandButtonRichTooltip
- The new rich tooltip for the expand button of this ribbon band.- See Also:
getExpandButtonRichTooltip()
-
getCollapsedStateKeyTip
public java.lang.String 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(String)
-
setCollapsedStateKeyTip
public void setCollapsedStateKeyTip(java.lang.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. Fires acollapsedStateKeyTip
property change event.- Parameters:
collapsedStateKeyTip
- The new key tip for the collapsed button of this ribbon band.- See Also:
getCollapsedStateKeyTip()
-
setRibbonTask
void setRibbonTask(RibbonTask ribbonTask)
Associates this ribbon band with the specified ribbon task.- Parameters:
ribbonTask
- Ribbon task.- Throws:
java.lang.IllegalArgumentException
- When this ribbon band has already been associated with a ribbon task.
-
-