org.jvnet.flamingo.ribbon
Class AbstractRibbonBand<T extends AbstractBandControlPanel>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.jvnet.flamingo.ribbon.AbstractRibbonBand<T>
Type Parameters:
T - Class parameter that specifies the type of band control panel implementation.
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
JFlowRibbonBand, JRibbonBand

public abstract class AbstractRibbonBand<T extends AbstractBandControlPanel>
extends javax.swing.JComponent

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:

Author:
Kirill Grouchnikov
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static java.lang.String uiClassID
          The UI class ID string.
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
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
AbstractRibbonBand(java.lang.String title, ResizableIcon icon, java.awt.event.ActionListener expandActionListener, T controlPanel)
          Creates a new ribbon band.
 
Method Summary
abstract  AbstractRibbonBand<T> 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.
 T getControlPanel()
          Returns the control panel of this ribbon band.
 RibbonBandResizePolicy getCurrentResizePolicy()
          Returns the current resize policy of this ribbon band.
 java.awt.event.ActionListener getExpandActionListener()
          Returns the expand action listener 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.
 ResizableIcon getIcon()
          Returns the icon 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 of this band.
 RibbonBandUI getUI()
          Returns the UI object which implements the L&F 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(T controlPanel)
          Sets the control panel of this 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 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.
 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, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

uiClassID

public static final java.lang.String uiClassID
The UI class ID string.

See Also:
Constant Field Values
Constructor Detail

AbstractRibbonBand

public AbstractRibbonBand(java.lang.String title,
                          ResizableIcon icon,
                          java.awt.event.ActionListener expandActionListener,
                          T controlPanel)
Creates a new ribbon band.

Parameters:
title - Band title.
icon - Associated icon (for collapsed state).
expandActionListener - Expand action listener (can be null).
controlPanel - The control panel of this ribbon band.
Method Detail

cloneBand

public abstract AbstractRibbonBand<T> cloneBand()
Returns a clone of this ribbon band.

Returns:
A clone of this ribbon band.

getUI

public RibbonBandUI getUI()
Returns the UI object which implements the L&F for this component.

Returns:
a RibbonBandUI object
See Also:
setUI(org.jvnet.flamingo.ribbon.ui.RibbonBandUI)

setUI

public void setUI(RibbonBandUI ui)
Sets the new UI delegate.

Parameters:
ui - New UI delegate.

updateUI

public void updateUI()
Overrides:
updateUI in class javax.swing.JComponent

getUIClassID

public java.lang.String getUIClassID()
Overrides:
getUIClassID in class javax.swing.JComponent

getTitle

public java.lang.String getTitle()
Returns the title of this band.

Returns:
Title of this band.
See Also:
setTitle(String)

getIcon

public ResizableIcon getIcon()
Returns the icon for the collapsed state.

Returns:
The icon for the collapsed state.
See Also:
AbstractRibbonBand(String, ResizableIcon, ActionListener, AbstractBandControlPanel)

setTitle

public void setTitle(java.lang.String title)
Changes the title of this ribbon band. Fires a title property change event.

Parameters:
title - The new title for this ribbon band.
See Also:
AbstractRibbonBand(String, ResizableIcon, ActionListener, AbstractBandControlPanel), getTitle()

getExpandActionListener

public java.awt.event.ActionListener getExpandActionListener()
Returns the expand action listener of this ribbon band. The result may be null.

Returns:
Expand action listener of this ribbon band.
See Also:
AbstractRibbonBand(String, ResizableIcon, ActionListener, AbstractBandControlPanel)

getControlPanel

public T getControlPanel()
Returns the control panel of this ribbon band. The result may be null.

Returns:
Control panel of this ribbon band.
See Also:
AbstractRibbonBand(String, ResizableIcon, ActionListener, AbstractBandControlPanel), setControlPanel(AbstractBandControlPanel)

setControlPanel

public void setControlPanel(T controlPanel)
Sets the control panel of this ribbon band. The parameter may be null. This method is for internal use only.

Parameters:
controlPanel - The new control panel for this ribbon band. May be null.
See Also:
AbstractRibbonBand(String, ResizableIcon, ActionListener, 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 its RibbonBandResizePolicy.getPreferredWidth(int, int). Each successive entry in the list must return the value smaller than its predecessors. The last entry must be IconRibbonBandResizePolicy.

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 an expandButtonKeyTip 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 an expandButtonRichTooltip 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 a collapsedStateKeyTip property change event.

Parameters:
collapsedStateKeyTip - The new key tip for the collapsed button of this ribbon band.
See Also:
getCollapsedStateKeyTip()