JIDE 3.5.15

com.jidesoft.swing
Class JideButton

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.AbstractButton
                  extended by javax.swing.JButton
                      extended by com.jidesoft.swing.JideButton
All Implemented Interfaces:
Alignable, AlignmentSupport, ButtonStyle, ComponentStateSupport, ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible, SwingConstants
Direct Known Subclasses:
BasicDockableFrameTitlePane.NoFocusButton, ColorChooserPanel.ColorButton, CornerScroller, FloorTabbedPane.FloorButton, HeaderBox, JideToggleButton, NullJideButton, OutlookTabbedPane.OutlookButton, SimpleScrollPane.ScrollButton

public class JideButton
extends JButton
implements Alignable, ButtonStyle, ComponentStateSupport, AlignmentSupport

JideButton is a replacement for JButton when it is used on toolbar (or command bar in the case of JIDE Action Framework).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JButton
JButton.AccessibleJButton
 
Nested classes/interfaces inherited from class javax.swing.AbstractButton
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String CLIENT_PROPERTY_HIDE_POPUPMENU
          By default, if a JideButton is added to a popup menu, clicking on the button will dismiss the popup menu.
static String PROPERTY_ALWAYS_SHOW_HYPERLINK
          Bound property name for always show hyperlink property.
 
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
 
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 com.jidesoft.swing.Alignable
PROPERTY_ORIENTATION
 
Fields inherited from interface com.jidesoft.swing.ButtonStyle
BUTTON_STYLE_PROPERTY, CLIENT_PROPERTY_SEGMENT_POSITION, FLAT_STYLE, HYPERLINK_STYLE, SEGMENT_POSITION_FIRST, SEGMENT_POSITION_LAST, SEGMENT_POSITION_MIDDLE, SEGMENT_POSITION_ONLY, TOOLBAR_STYLE, TOOLBOX_STYLE
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JideButton()
          Creates a button with no set text or icon.
JideButton(Action a)
          Creates a button where properties are taken from the Action supplied.
JideButton(Icon icon)
          Creates a button with an icon.
JideButton(String text)
          Creates a button with text.
JideButton(String text, Icon icon)
          Creates a button with initial text and an icon.
 
Method Summary
 Color getBackgroundOfState(int state)
          Gets the background for different states.
 int getButtonStyle()
          Gets the button style.
 Color getDefaultForeground()
           
 Color getForegroundOfState(int state)
          Gets the foreground for different states.
 int getOrientation()
          The button orientation.
 String getUIClassID()
          Returns a string that specifies the name of the L&F class that renders this component.
 boolean isAlwaysShowHyperlink()
          Checks the alwaysShowHyperlink property value.
 void setAlwaysShowHyperlink(boolean alwaysShowHyperlink)
          Sets the property if hyperlink (the underline) should be visible all the time.
 void setBackgroundOfState(int state, Color color)
          Sets the background for different states.
 void setButtonStyle(int buttonStyle)
          Sets the button style.
 void setDefaultForeground(Color defaultForeground)
           
 void setForegroundOfState(int state, Color color)
          Sets the foreground for different states.
 void setIcon(Icon defaultIcon)
           
 void setOrientation(int orientation)
          Changes the orientation.
 void setRolloverEnabled(boolean b)
           
 void setText(String text)
           
 boolean supportHorizontalOrientation()
          return true if it supports horizontal orientation.
 boolean supportVerticalOrientation()
          return true if it supports vertical orientation.
 void updateUI()
          Resets the UI property to a value from the current look and feel.
 
Methods inherited from class javax.swing.JButton
getAccessibleContext, isDefaultButton, isDefaultCapable, paramString, removeNotify, setDefaultCapable
 
Methods inherited from class javax.swing.AbstractButton
actionPropertyChanged, addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, configurePropertiesFromAction, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setUI, setVerticalAlignment, setVerticalTextPosition
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, setToolTipText, setTransferHandler, setUI, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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
 
Methods inherited from interface com.jidesoft.swing.AlignmentSupport
getHorizontalAlignment, getVerticalAlignment, setHorizontalAlignment, setVerticalAlignment
 

Field Detail

PROPERTY_ALWAYS_SHOW_HYPERLINK

public static final String PROPERTY_ALWAYS_SHOW_HYPERLINK
Bound property name for always show hyperlink property.

See Also:
Constant Field Values

CLIENT_PROPERTY_HIDE_POPUPMENU

public static final String CLIENT_PROPERTY_HIDE_POPUPMENU
By default, if a JideButton is added to a popup menu, clicking on the button will dismiss the popup menu. However if you change the default behavior, you can use this client property and set it to Boolean.FALSE.

See Also:
Constant Field Values
Constructor Detail

JideButton

public JideButton()
Creates a button with no set text or icon.


JideButton

public JideButton(Icon icon)
Creates a button with an icon.

Parameters:
icon - the Icon image to display on the button

JideButton

public JideButton(String text)
Creates a button with text.

Parameters:
text - the text of the button

JideButton

public JideButton(Action a)
Creates a button where properties are taken from the Action supplied.

Parameters:
a - the Action used to specify the new button
Since:
1.3

JideButton

public JideButton(String text,
                  Icon icon)
Creates a button with initial text and an icon.

Parameters:
text - the text of the button
icon - the Icon image to display on the button
Method Detail

updateUI

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

Overrides:
updateUI in class JButton
See Also:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
Returns a string that specifies the name of the L&F class that renders this component.

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

getOrientation

public int getOrientation()
The button orientation.

Specified by:
getOrientation in interface Alignable
Returns:
the orientation.

setOrientation

public void setOrientation(int orientation)
Description copied from interface: Alignable
Changes the orientation. If the component is a Swing component, the default implementation is this.
JideSwingUtilities.setOrientationOf(this, orientation);

Specified by:
setOrientation in interface Alignable
Parameters:
orientation - the new orientation

supportVerticalOrientation

public boolean supportVerticalOrientation()
return true if it supports vertical orientation.

Specified by:
supportVerticalOrientation in interface Alignable
Returns:
true if it supports vertical orientation

supportHorizontalOrientation

public boolean supportHorizontalOrientation()
return true if it supports horizontal orientation.

Specified by:
supportHorizontalOrientation in interface Alignable
Returns:
true if it supports horizontal orientation

getButtonStyle

public int getButtonStyle()
Gets the button style.

Specified by:
getButtonStyle in interface ButtonStyle
Returns:
the button style.

setButtonStyle

public void setButtonStyle(int buttonStyle)
Sets the button style.

Specified by:
setButtonStyle in interface ButtonStyle
Parameters:
buttonStyle - one of the following values: ButtonStyle.TOOLBAR_STYLE (default), ButtonStyle.TOOLBOX_STYLE, ButtonStyle.FLAT_STYLE and ButtonStyle.HYPERLINK_STYLE.

setRolloverEnabled

public void setRolloverEnabled(boolean b)
Overrides:
setRolloverEnabled in class AbstractButton

setText

public void setText(String text)
Overrides:
setText in class AbstractButton

setIcon

public void setIcon(Icon defaultIcon)
Overrides:
setIcon in class AbstractButton

isAlwaysShowHyperlink

public boolean isAlwaysShowHyperlink()
Checks the alwaysShowHyperlink property value.

Returns:
true if the hyperlink is always visible. False if the hyperlink will be visible only when mouse rolls over.

setAlwaysShowHyperlink

public void setAlwaysShowHyperlink(boolean alwaysShowHyperlink)
Sets the property if hyperlink (the underline) should be visible all the time. By default the hyperlink is visible when mouse is over the button. If set to true, the hyperlink will always be visible.

Please notes, this is an option only available when button style is set to HYPERLINK_STYLE.

Parameters:
alwaysShowHyperlink - a boolean value. True means the button will always show hyperlink. False means it will show hyperlink only when mouse is over the button.

getDefaultForeground

public Color getDefaultForeground()

setDefaultForeground

public void setDefaultForeground(Color defaultForeground)

getBackgroundOfState

public Color getBackgroundOfState(int state)
Gets the background for different states. The states are defined in ThemePainter as constants. Not all states are supported by all components. If the state is not supported or background is never set, it will return null.

Please note, each L&F will have its own way to paint the different backgrounds. This method allows you to customize it for each component to use a different background. So if you want the background to be used, don't use a ColorUIResource because UIResource is considered as a setting set by the L&F and any L&F can choose to ignore it.

Specified by:
getBackgroundOfState in interface ComponentStateSupport
Parameters:
state - the button state. Valid values are ThemePainter.STATE_DEFAULT, ThemePainter.STATE_ROLLOVER, ThemePainter.STATE_SELECTED and ThemePainter.STATE_PRESSED.
Returns:
the background for different states.

setBackgroundOfState

public void setBackgroundOfState(int state,
                                 Color color)
Sets the background for different states. The states are defined in ThemePainter as constants. Not all states are supported by all components. If the state is not supported or background is never set, it will return null.

Please note, each L&F will have its own way to paint the different backgrounds. This method allows you to customize it for each component to use a different background. So if you want the background to be used, don't use a ColorUIResource because UIResource is considered as a setting set by the L&F and any L&F can choose to ignore it.

Specified by:
setBackgroundOfState in interface ComponentStateSupport
Parameters:
state - the button state. Valid values are ThemePainter.STATE_DEFAULT, ThemePainter.STATE_ROLLOVER, ThemePainter.STATE_SELECTED and ThemePainter.STATE_PRESSED.
color - the new background for the state.

getForegroundOfState

public Color getForegroundOfState(int state)
Gets the foreground for different states. The states are defined in ThemePainter as constants. Not all states are supported by all components. If the state is not supported or foreground is never set, it will return null.

Please note, each L&F will have its own way to paint the different foregrounds. This method allows you to customize it for each component to use a different foreground. So if you want the foreground to be used, don't use a ColorUIResource because UIResource is considered as a setting set by the L&F and any L&F can choose to ignore it.

Specified by:
getForegroundOfState in interface ComponentStateSupport
Parameters:
state - the button state. Valid values are ThemePainter.STATE_DEFAULT, ThemePainter.STATE_ROLLOVER, ThemePainter.STATE_SELECTED and ThemePainter.STATE_PRESSED.
Returns:
the foreground for different states.

setForegroundOfState

public void setForegroundOfState(int state,
                                 Color color)
Sets the foreground for different states. The states are defined in ThemePainter as constants. Not all states are supported by all components. If the state is not supported or foreground is never set, it will return null.

Please note, each L&F will have its own way to paint the different foregrounds. This method allows you to customize it for each component to use a different foreground. So if you want the foreground to be used, don't use a ColorUIResource because UIResource is considered as a setting set by the L&F and any L&F can choose to ignore it.

Specified by:
setForegroundOfState in interface ComponentStateSupport
Parameters:
state - the button state. Valid values are ThemePainter.STATE_DEFAULT, ThemePainter.STATE_ROLLOVER, ThemePainter.STATE_SELECTED and ThemePainter.STATE_PRESSED.
color - the new foreground for the state.

JIDE 3.5.15