Class AbstractRibbonBand

  • Direct Known Subclasses:
    JFlowRibbonBand, JRibbonBand


    public abstract class AbstractRibbonBand
    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:

    • 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 and CoreRibbonResizePolicies) - 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
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.List<RibbonBandResizePolicy> resizePolicies
      The list of available resize policies.
      static java.lang.String uiClassID
      The UI class ID string.
      • 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
      • 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, org.pushingpixels.neon.api.icon.ResizableIcon.Factory iconFactory, CommandAction expandCommandListener, org.pushingpixels.flamingo.internal.ui.ribbon.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.
      org.pushingpixels.flamingo.internal.ui.ribbon.AbstractBandControlPanel getControlPanel​()
      Returns the control panel of this 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 of this ribbon band.
      org.pushingpixels.neon.api.icon.ResizableIcon.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 of this band.
      org.pushingpixels.flamingo.internal.ui.ribbon.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​(org.pushingpixels.flamingo.internal.ui.ribbon.AbstractBandControlPanel 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 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.
      void setTitle​(java.lang.String title)
      Changes the title of this ribbon band.
      void setUI​(org.pushingpixels.flamingo.internal.ui.ribbon.RibbonBandUI ui)
      Sets the new UI delegate.
      void updateUI​()  
      • 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
      • 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 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.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractRibbonBand

        public AbstractRibbonBand​(java.lang.String title,
                                  org.pushingpixels.neon.api.icon.ResizableIcon.Factory iconFactory,
                                  CommandAction expandCommandListener,
                                  org.pushingpixels.flamingo.internal.ui.ribbon.AbstractBandControlPanel controlPanel)
        Creates a new ribbon band.
        Parameters:
        title - Band title.
        iconFactory - Associated icon factory (for collapsed state).
        expandCommandListener - Expand command listener (can be null).
        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.
      • setUI

        public void setUI​(org.pushingpixels.flamingo.internal.ui.ribbon.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)
      • 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. Passing null will remove the expand button from this ribbon band.
        Parameters:
        expandCommandListener - Expand action listener for this ribbon band.
        See Also:
        getExpandCommandListener()
      • 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. If CoreRibbonResizePolicies.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 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()