Class JideButton

    • 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
      • 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

      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 java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • 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
    • 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 the Action 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
    • 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 the Action supplied.
        Parameters:
        a - the Action 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 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 javax.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 class javax.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 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.
      • setRolloverEnabled

        public void setRolloverEnabled​(boolean b)
        Overrides:
        setRolloverEnabled in class javax.swing.AbstractButton
      • setText

        public void setText​(java.lang.String text)
        Overrides:
        setText in class javax.swing.AbstractButton
      • setIcon

        public void setIcon​(javax.swing.Icon defaultIcon)
        Overrides:
        setIcon in class javax.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 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,
                                         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 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 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 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,
                                         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 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.