org.pushingpixels.flamingo.api.common
Class JCommandButtonStrip

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.pushingpixels.flamingo.api.common.JCommandButtonStrip
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
BasicRibbonGalleryUI.JButtonStripUIResource

public class JCommandButtonStrip
extends javax.swing.JComponent

Button strip component. Provides visual appearance of a strip. The buttons in the strip are either drawn horizontally with no horizontal space between them or drawn vertically with no vertical space between them.

See Also:
Serialized Form

Nested Class Summary
static class JCommandButtonStrip.StripOrientation
          Button strip orientation.
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
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
 
Field Summary
protected  CommandButtonDisplayState displayState
          Element state for the buttons in this button strip.
protected  double hgapScaleFactor
          Scale factor for horizontal gaps.
static java.lang.String uiClassID
          The UI class ID string.
protected  double vgapScaleFactor
          Scale factor for vertical gaps.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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
JCommandButtonStrip()
          Creates an empty horizontally-oriented strip.
JCommandButtonStrip(JCommandButtonStrip.StripOrientation orientation)
          Creates an empty strip.
 
Method Summary
 java.awt.Component add(java.awt.Component comp)
           
 java.awt.Component add(java.awt.Component comp, int index)
           
 void add(java.awt.Component comp, java.lang.Object constraints)
           
 void add(java.awt.Component comp, java.lang.Object constraints, int index)
           
 java.awt.Component add(java.lang.String name, java.awt.Component comp)
           
 void addChangeListener(javax.swing.event.ChangeListener l)
          Adds the specified change listener to track changes to this command button strip.
protected  void fireStateChanged()
          Notifies all registered listener that the state of this command button strip has changed.
 AbstractCommandButton getButton(int index)
          Returns the specified button component of this strip.
 int getButtonCount()
          Returns the number of buttons in this strip.
 JCommandButtonStrip.StripOrientation getOrientation()
          Returns the orientation of this strip.
 CommandButtonStripUI getUI()
          Returns the UI object which implements the L&F for this component.
 java.lang.String getUIClassID()
          Returns the name of the UI class that implements the L&F for this component.
 boolean isFirst(AbstractCommandButton button)
          Checks whether the specified button is the first button in this strip.
 boolean isLast(AbstractCommandButton button)
          Checks whether the specified button is the last button in this strip.
 void removeChangeListener(javax.swing.event.ChangeListener l)
          Removes the specified change listener from tracking changes to this command button strip.
 void setDisplayState(CommandButtonDisplayState elementState)
          Sets the display state for the buttons in this button strip.
 void setHGapScaleFactor(double hgapScaleFactor)
          Sets the horizontal gap scale factor for the buttons in this button strip.
 void setUI(CommandButtonStripUI ui)
          Sets the new UI delegate.
 void setVGapScaleFactor(double vgapScaleFactor)
          Sets the vertical gap scale factor for the buttons in this button strip.
 void updateUI()
          Resets the UI property to a value from the current look and feel.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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
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, transferFocusBackward, 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, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, 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
clone, equals, finalize, 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

displayState

protected CommandButtonDisplayState displayState
Element state for the buttons in this button strip. Default state is CommandButtonDisplayState.SMALL.


hgapScaleFactor

protected double hgapScaleFactor
Scale factor for horizontal gaps.

See Also:
setVGapScaleFactor(double)

vgapScaleFactor

protected double vgapScaleFactor
Scale factor for vertical gaps.

See Also:
setVGapScaleFactor(double)
Constructor Detail

JCommandButtonStrip

public JCommandButtonStrip()
Creates an empty horizontally-oriented strip.


JCommandButtonStrip

public JCommandButtonStrip(JCommandButtonStrip.StripOrientation orientation)
Creates an empty strip.

Parameters:
orientation - Orientation for this strip.
Method Detail

setDisplayState

public void setDisplayState(CommandButtonDisplayState elementState)
Sets the display state for the buttons in this button strip. This method must be called before adding the first command button. The default state is CommandButtonDisplayState.SMALL.

Parameters:
elementState - New element state for the buttons in this button strip.

setHGapScaleFactor

public void setHGapScaleFactor(double hgapScaleFactor)
Sets the horizontal gap scale factor for the buttons in this button strip. This method must be called before adding the first command button.

The default horizontal gap scale factor for horizontally oriented strips is 0.75. The default horizontal gap scale factor for vertically oriented strips is 1.0.

Parameters:
hgapScaleFactor - New horizontal gap scale factor for the buttons in this button strip.
See Also:
setVGapScaleFactor(double)

setVGapScaleFactor

public void setVGapScaleFactor(double vgapScaleFactor)
Sets the vertical gap scale factor for the buttons in this button strip. This method must be called before adding the first command button.

The default vertical gap scale factor for vertically oriented strips is 0.75. The default vertical gap scale factor for horizontally oriented strips is 1.0.

Parameters:
vgapScaleFactor - New vertical gap scale factor for the buttons in this button strip.
See Also:
setHGapScaleFactor(double)

add

public void add(java.awt.Component comp,
                java.lang.Object constraints,
                int index)
Overrides:
add in class java.awt.Container

add

public void add(java.awt.Component comp,
                java.lang.Object constraints)
Overrides:
add in class java.awt.Container

add

public java.awt.Component add(java.awt.Component comp,
                              int index)
Overrides:
add in class java.awt.Container

add

public java.awt.Component add(java.awt.Component comp)
Overrides:
add in class java.awt.Container

add

public java.awt.Component add(java.lang.String name,
                              java.awt.Component comp)
Overrides:
add in class java.awt.Container

setUI

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

Parameters:
ui - New UI delegate.

updateUI

public void updateUI()
Resets the UI property to a value from the current look and feel.

Overrides:
updateUI in class javax.swing.JComponent
See Also:
JComponent.updateUI()

getUI

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

Returns:
a ButtonStripUI object
See Also:
setUI(org.pushingpixels.flamingo.internal.ui.common.CommandButtonStripUI)

getUIClassID

public java.lang.String getUIClassID()
Returns the name of the UI class that implements the L&F for this component.

Overrides:
getUIClassID in class javax.swing.JComponent
Returns:
the string "ButtonStripUI"
See Also:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getButtonCount

public int getButtonCount()
Returns the number of buttons in this strip.

Returns:
Number of buttons in this strip.
See Also:
getButton(int)

getButton

public AbstractCommandButton getButton(int index)
Returns the specified button component of this strip.

Parameters:
index - Button index.
Returns:
The matching button.
See Also:
getButtonCount()

isFirst

public boolean isFirst(AbstractCommandButton button)
Checks whether the specified button is the first button in this strip.

Parameters:
button - Button to check.
Returns:
true if the specified button is the first button in this strip, false otherwise.
See Also:
isLast(AbstractCommandButton)

isLast

public boolean isLast(AbstractCommandButton button)
Checks whether the specified button is the last button in this strip.

Parameters:
button - Button to check.
Returns:
true if the specified button is the last button in this strip, false otherwise.
See Also:
isFirst(AbstractCommandButton)

getOrientation

public JCommandButtonStrip.StripOrientation getOrientation()
Returns the orientation of this strip.

Returns:
Orientation of this strip.

addChangeListener

public void addChangeListener(javax.swing.event.ChangeListener l)
Adds the specified change listener to track changes to this command button strip.

Parameters:
l - Change listener to add.
See Also:
removeChangeListener(ChangeListener)

removeChangeListener

public void removeChangeListener(javax.swing.event.ChangeListener l)
Removes the specified change listener from tracking changes to this command button strip.

Parameters:
l - Change listener to remove.
See Also:
addChangeListener(ChangeListener)

fireStateChanged

protected void fireStateChanged()
Notifies all registered listener that the state of this command button strip has changed.