Package com.jidesoft.swing
Class JideButton
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.AbstractButton
-
- javax.swing.JButton
-
- com.jidesoft.swing.JideButton
-
- All Implemented Interfaces:
Alignable
,AlignmentSupport
,ButtonStyle
,ComponentStateSupport
,java.awt.image.ImageObserver
,java.awt.ItemSelectable
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.SwingConstants
- Direct Known Subclasses:
CornerScroller
,HeaderBox
,JideToggleButton
,NullJideButton
,SimpleScrollPane.ScrollButton
public class JideButton extends javax.swing.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
javax.swing.JButton.AccessibleJButton
-
Nested classes/interfaces inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.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 java.lang.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
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
accessibleContext, 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
-
-
Constructor Summary
Constructors Constructor Description JideButton()
Creates a button with no set text or icon.JideButton(java.lang.String text)
Creates a button with text.JideButton(java.lang.String text, javax.swing.Icon icon)
Creates a button with initial text and an icon.JideButton(javax.swing.Action a)
Creates a button where properties are taken from theAction
supplied.JideButton(javax.swing.Icon icon)
Creates a button with an icon.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.Color
getBackgroundOfState(int state)
Gets the background for different states.int
getButtonStyle()
Gets the button style.java.awt.Color
getDefaultForeground()
java.awt.Color
getForegroundOfState(int state)
Gets the foreground for different states.int
getOrientation()
The button orientation.java.lang.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, java.awt.Color color)
Sets the background for different states.void
setButtonStyle(int buttonStyle)
Sets the button style.void
setDefaultForeground(java.awt.Color defaultForeground)
void
setForegroundOfState(int state, java.awt.Color color)
Sets the foreground for different states.void
setIcon(javax.swing.Icon defaultIcon)
void
setOrientation(int orientation)
Changes the orientation.void
setRolloverEnabled(boolean b)
void
setText(java.lang.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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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.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 java.lang.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 java.lang.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(javax.swing.Icon icon)
Creates a button with an icon.- Parameters:
icon
- the Icon image to display on the button
-
JideButton
public JideButton(java.lang.String text)
Creates a button with text.- Parameters:
text
- the text of the button
-
JideButton
public JideButton(javax.swing.Action a)
Creates a button where properties are taken from theAction
supplied.- Parameters:
a
- theAction
used to specify the new button- Since:
- 1.3
-
JideButton
public JideButton(java.lang.String text, javax.swing.Icon icon)
Creates a button with initial text and an icon.- Parameters:
text
- the text of the buttonicon
- 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 classjavax.swing.JButton
- See Also:
JComponent.updateUI()
-
getUIClassID
public java.lang.String getUIClassID()
Returns a string that specifies the name of the L&F class that renders this component.- Overrides:
getUIClassID
in classjavax.swing.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 interfaceAlignable
- 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 interfaceAlignable
- Parameters:
orientation
- the new orientation
-
supportVerticalOrientation
public boolean supportVerticalOrientation()
return true if it supports vertical orientation.- Specified by:
supportVerticalOrientation
in interfaceAlignable
- Returns:
- true if it supports vertical orientation
-
supportHorizontalOrientation
public boolean supportHorizontalOrientation()
return true if it supports horizontal orientation.- Specified by:
supportHorizontalOrientation
in interfaceAlignable
- Returns:
- true if it supports horizontal orientation
-
getButtonStyle
public int getButtonStyle()
Gets the button style.- Specified by:
getButtonStyle
in interfaceButtonStyle
- Returns:
- the button style.
-
setButtonStyle
public void setButtonStyle(int buttonStyle)
Sets the button style.- Specified by:
setButtonStyle
in interfaceButtonStyle
- Parameters:
buttonStyle
- one of the following values:ButtonStyle.TOOLBAR_STYLE
(default),ButtonStyle.TOOLBOX_STYLE
,ButtonStyle.FLAT_STYLE
andButtonStyle.HYPERLINK_STYLE
.
-
setRolloverEnabled
public void setRolloverEnabled(boolean b)
- Overrides:
setRolloverEnabled
in classjavax.swing.AbstractButton
-
setText
public void setText(java.lang.String text)
- Overrides:
setText
in classjavax.swing.AbstractButton
-
setIcon
public void setIcon(javax.swing.Icon defaultIcon)
- Overrides:
setIcon
in classjavax.swing.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 java.awt.Color getDefaultForeground()
-
setDefaultForeground
public void setDefaultForeground(java.awt.Color defaultForeground)
-
getBackgroundOfState
public java.awt.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 interfaceComponentStateSupport
- 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, java.awt.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 interfaceComponentStateSupport
- 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 java.awt.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 interfaceComponentStateSupport
- 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, java.awt.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 interfaceComponentStateSupport
- 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.
-
-