Class JCommandButton
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.pushingpixels.radiance.component.api.common.JCommandButton
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,RichTooltipManager.WithRichTooltip
- Direct Known Subclasses:
JRibbonTaskToggleButton
public class JCommandButton extends javax.swing.JComponent implements RichTooltipManager.WithRichTooltip
Command button. Note that while this class is a part of public API, it is highly recommended to use theCommand
andCommandButtonPresentationModel
instances used to project the command button on screen for any dynamic manipulation of the state.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
JCommandButton.ActionHandler
Default action handler for this button.private static class
JCommandButton.DefaultPopupButtonModel
Extension of the default button model that supports thePopupButtonModel
interface.(package private) class
JCommandButton.PopupHandler
Default popup handler.-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private JCommandButton.ActionHandler
actionHandler
Action handler for the button.private ActionButtonModel
actionModel
The button action model.private BaseCommand
command
private BaseCommandButtonPresentationModel
commandPresentation
private JCommandButton.PopupHandler
popupHandler
Default popup handler for this button.private PopupButtonModel
popupModel
Popup model of this button.private CommandButtonPresentationState
presentationState
Current presentation state ofthis
button.private BaseCommandButtonProjection<? extends BaseCommand<?>,? extends BaseCommandMenuContentModel,? extends BaseCommandButtonPresentationModel<?,?>,? extends BaseCommandPopupMenuPresentationModel>
projection
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 JCommandButton(BaseCommandButtonProjection<? extends BaseCommand<?>,? extends BaseCommandMenuContentModel,? extends BaseCommandButtonPresentationModel<?,?>,? extends BaseCommandPopupMenuPresentationModel> projection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChangeListener(javax.swing.event.ChangeListener l)
Adds the specified change listener to this button.void
addCommandListener(CommandAction l)
Adds the specified command listener to this button.void
addRolloverActionListener(RolloverActionListener l)
Adds a rollover action listener that will be called when the rollover state of this button becomes active.void
doActionClick()
Programmatically perform an action "click".void
doActionRollover()
Programmatically perform a "rollover" on the action area.void
doPopupClick()
Programmatically perform a "click" on the popup area.protected void
fireActionPerformed(java.awt.event.ActionEvent event)
Notifies all listeners that have registered interest for notification on this event type.protected void
firePopupActionPerformed(java.awt.event.ActionEvent event)
Notifies all listeners that have registered interest for notification on this event type.protected void
fireStateChanged()
Notifies all listeners that have registered interest for notification on this event type.ActionButtonModel
getActionModel()
Returns the action model for this button.BaseCommand<? extends BaseCommandMenuContentModel>
getContentModel()
PopupButtonModel
getPopupModel()
Returns the popup model of this button.BaseCommandButtonPresentationModel<? extends BaseCommandPopupMenuPresentationModel,? extends BaseCommandButtonPresentationModel<?,?>>
getPresentationModel()
CommandButtonPresentationState
getPresentationState()
Return the current presentation state ofthis
button.BaseCommandButtonProjection<? extends BaseCommand<?>,? extends BaseCommandMenuContentModel,? extends BaseCommandButtonPresentationModel<?,?>,? extends BaseCommandPopupMenuPresentationModel>
getProjection()
RichTooltip
getRichTooltip(java.awt.event.MouseEvent event)
RichTooltipPresentationModel
getRichTooltipPresentationModel(java.awt.event.MouseEvent event)
CommandButtonUI
getUI()
Returns the UI delegate for this button.java.lang.String
getUIClassID()
boolean
isPopupVisible()
void
removeChangeListener(javax.swing.event.ChangeListener l)
Removes the specified change listener from this button.void
removeCommandListener(CommandAction l)
Removes the specified command listener from this button.void
removeRolloverActionListener(RolloverActionListener l)
Removes the specified rollover action listener.void
setActionModel(ActionButtonModel newModel)
Sets the new action model for this button.void
setEnabled(boolean b)
void
setPopupModel(PopupButtonModel newModel)
Sets the new popup model for this button.void
setPresentationState(CommandButtonPresentationState state)
Sets new presentation state forthis
button.void
setToolTipText(java.lang.String text)
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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, 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
-
projection
private BaseCommandButtonProjection<? extends BaseCommand<?>,? extends BaseCommandMenuContentModel,? extends BaseCommandButtonPresentationModel<?,?>,? extends BaseCommandPopupMenuPresentationModel> projection
-
command
private BaseCommand command
-
commandPresentation
private BaseCommandButtonPresentationModel commandPresentation
-
actionModel
private ActionButtonModel actionModel
The button action model.
-
presentationState
private CommandButtonPresentationState presentationState
Current presentation state ofthis
button.
-
actionHandler
private JCommandButton.ActionHandler actionHandler
Action handler for the button.
-
popupModel
private PopupButtonModel popupModel
Popup model of this button.- See Also:
setPopupModel(PopupButtonModel)
,getPopupModel()
-
popupHandler
private JCommandButton.PopupHandler popupHandler
Default popup handler for this button.
-
-
Constructor Detail
-
JCommandButton
public JCommandButton(BaseCommandButtonProjection<? extends BaseCommand<?>,? extends BaseCommandMenuContentModel,? extends BaseCommandButtonPresentationModel<?,?>,? extends BaseCommandPopupMenuPresentationModel> projection)
-
-
Method Detail
-
getUI
public CommandButtonUI getUI()
Returns the UI delegate for this button.- Overrides:
getUI
in classjavax.swing.JComponent
- Returns:
- The UI delegate for this button.
-
getProjection
public BaseCommandButtonProjection<? extends BaseCommand<?>,? extends BaseCommandMenuContentModel,? extends BaseCommandButtonPresentationModel<?,?>,? extends BaseCommandPopupMenuPresentationModel> getProjection()
-
getContentModel
public BaseCommand<? extends BaseCommandMenuContentModel> getContentModel()
-
getPresentationModel
public BaseCommandButtonPresentationModel<? extends BaseCommandPopupMenuPresentationModel,? extends BaseCommandButtonPresentationModel<?,?>> getPresentationModel()
-
setPresentationState
public void setPresentationState(CommandButtonPresentationState state)
Sets new presentation state forthis
button. Fires apresentationState
property change event.- Parameters:
state
- New presentation state.- See Also:
getPresentationState()
-
getPresentationState
public CommandButtonPresentationState getPresentationState()
Return the current presentation state ofthis
button.- Returns:
- The current presentation state of
this
button. - See Also:
setPresentationState(CommandButtonPresentationState)
-
getActionModel
public ActionButtonModel getActionModel()
Returns the action model for this button.- Returns:
- The action model for this button.
- See Also:
setActionModel(ActionButtonModel)
-
setActionModel
public void setActionModel(ActionButtonModel newModel)
Sets the new action model for this button. Fires anactionModel
property change event.- Parameters:
newModel
- The new action model for this button.- See Also:
getActionModel()
-
addCommandListener
public void addCommandListener(CommandAction l)
Adds the specified command listener to this button.- Parameters:
l
- Command listener to add.- See Also:
removeCommandListener(CommandAction)
-
removeCommandListener
public void removeCommandListener(CommandAction l)
Removes the specified command listener from this button.- Parameters:
l
- Command listener to remove.- See Also:
addCommandListener(CommandAction)
-
addChangeListener
public void addChangeListener(javax.swing.event.ChangeListener l)
Adds the specified change listener to this button.- 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 this button.- Parameters:
l
- Change listener to remove.- See Also:
addChangeListener(ChangeListener)
-
fireStateChanged
protected void fireStateChanged()
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created.- See Also:
EventListenerList
-
fireActionPerformed
protected void fireActionPerformed(java.awt.event.ActionEvent event)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using theevent
parameter.- Parameters:
event
- theActionEvent
object- See Also:
EventListenerList
-
doActionClick
public void doActionClick()
Programmatically perform an action "click". This does the same thing as if the user had pressed and released the action area of the button.
-
setToolTipText
public void setToolTipText(java.lang.String text)
- Overrides:
setToolTipText
in classjavax.swing.JComponent
-
updateUI
public void updateUI()
- Overrides:
updateUI
in classjavax.swing.JComponent
-
getUIClassID
public java.lang.String getUIClassID()
- Overrides:
getUIClassID
in classjavax.swing.JComponent
-
getPopupModel
public PopupButtonModel getPopupModel()
Returns the popup model of this button.- Returns:
- The popup model of this button.
- See Also:
setPopupModel(PopupButtonModel)
-
setPopupModel
public void setPopupModel(PopupButtonModel newModel)
Sets the new popup model for this button. Fires apopupModel
property change event.- Parameters:
newModel
- The new popup model for this button.- See Also:
getPopupModel()
-
setEnabled
public void setEnabled(boolean b)
- Overrides:
setEnabled
in classjavax.swing.JComponent
-
firePopupActionPerformed
protected void firePopupActionPerformed(java.awt.event.ActionEvent event)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using theevent
parameter.- Parameters:
event
- theActionEvent
object- See Also:
EventListenerList
-
getRichTooltip
public RichTooltip getRichTooltip(java.awt.event.MouseEvent event)
- Specified by:
getRichTooltip
in interfaceRichTooltipManager.WithRichTooltip
-
getRichTooltipPresentationModel
public RichTooltipPresentationModel getRichTooltipPresentationModel(java.awt.event.MouseEvent event)
- Specified by:
getRichTooltipPresentationModel
in interfaceRichTooltipManager.WithRichTooltip
-
doPopupClick
public void doPopupClick()
Programmatically perform a "click" on the popup area. This does the same thing as if the user had pressed and released the popup area of the button.
-
isPopupVisible
public boolean isPopupVisible()
-
addRolloverActionListener
public void addRolloverActionListener(RolloverActionListener l)
Adds a rollover action listener that will be called when the rollover state of this button becomes active.- Parameters:
l
- The rollover action listener to add.- See Also:
removeRolloverActionListener(RolloverActionListener)
-
removeRolloverActionListener
public void removeRolloverActionListener(RolloverActionListener l)
Removes the specified rollover action listener.- Parameters:
l
- The listener to remove.- See Also:
addRolloverActionListener(RolloverActionListener)
-
doActionRollover
public void doActionRollover()
Programmatically perform a "rollover" on the action area. This does the same thing as if the user had moved the mouse over the action area of the button.
-
-