Module java.desktop
Package javax.swing

Class AbstractButton

    • Field Detail

      • MODEL_CHANGED_PROPERTY

        public static final String MODEL_CHANGED_PROPERTY
        Identifies a change in the button model.
        See Also:
        Constant Field Values
      • TEXT_CHANGED_PROPERTY

        public static final String TEXT_CHANGED_PROPERTY
        Identifies a change in the button's text.
        See Also:
        Constant Field Values
      • MNEMONIC_CHANGED_PROPERTY

        public static final String MNEMONIC_CHANGED_PROPERTY
        Identifies a change to the button's mnemonic.
        See Also:
        Constant Field Values
      • MARGIN_CHANGED_PROPERTY

        public static final String MARGIN_CHANGED_PROPERTY
        Identifies a change in the button's margins.
        See Also:
        Constant Field Values
      • VERTICAL_ALIGNMENT_CHANGED_PROPERTY

        public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
        Identifies a change in the button's vertical alignment.
        See Also:
        Constant Field Values
      • HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY

        public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
        Identifies a change in the button's horizontal alignment.
        See Also:
        Constant Field Values
      • VERTICAL_TEXT_POSITION_CHANGED_PROPERTY

        public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
        Identifies a change in the button's vertical text position.
        See Also:
        Constant Field Values
      • HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY

        public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
        Identifies a change in the button's horizontal text position.
        See Also:
        Constant Field Values
      • BORDER_PAINTED_CHANGED_PROPERTY

        public static final String BORDER_PAINTED_CHANGED_PROPERTY
        Identifies a change to having the border drawn, or having it not drawn.
        See Also:
        Constant Field Values
      • FOCUS_PAINTED_CHANGED_PROPERTY

        public static final String FOCUS_PAINTED_CHANGED_PROPERTY
        Identifies a change to having the border highlighted when focused, or not.
        See Also:
        Constant Field Values
      • ROLLOVER_ENABLED_CHANGED_PROPERTY

        public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY
        Identifies a change from rollover enabled to disabled or back to enabled.
        See Also:
        Constant Field Values
      • CONTENT_AREA_FILLED_CHANGED_PROPERTY

        public static final String CONTENT_AREA_FILLED_CHANGED_PROPERTY
        Identifies a change to having the button paint the content area.
        See Also:
        Constant Field Values
      • ICON_CHANGED_PROPERTY

        public static final String ICON_CHANGED_PROPERTY
        Identifies a change to the icon that represents the button.
        See Also:
        Constant Field Values
      • PRESSED_ICON_CHANGED_PROPERTY

        public static final String PRESSED_ICON_CHANGED_PROPERTY
        Identifies a change to the icon used when the button has been pressed.
        See Also:
        Constant Field Values
      • SELECTED_ICON_CHANGED_PROPERTY

        public static final String SELECTED_ICON_CHANGED_PROPERTY
        Identifies a change to the icon used when the button has been selected.
        See Also:
        Constant Field Values
      • ROLLOVER_ICON_CHANGED_PROPERTY

        public static final String ROLLOVER_ICON_CHANGED_PROPERTY
        Identifies a change to the icon used when the cursor is over the button.
        See Also:
        Constant Field Values
      • ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY

        public static final String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
        Identifies a change to the icon used when the cursor is over the button and it has been selected.
        See Also:
        Constant Field Values
      • DISABLED_ICON_CHANGED_PROPERTY

        public static final String DISABLED_ICON_CHANGED_PROPERTY
        Identifies a change to the icon used when the button has been disabled.
        See Also:
        Constant Field Values
      • DISABLED_SELECTED_ICON_CHANGED_PROPERTY

        public static final String DISABLED_SELECTED_ICON_CHANGED_PROPERTY
        Identifies a change to the icon used when the button has been disabled and selected.
        See Also:
        Constant Field Values
      • model

        protected ButtonModel model
        The data model that determines the button's state.
      • changeListener

        protected ChangeListener changeListener
        The button model's changeListener.
      • actionListener

        protected ActionListener actionListener
        The button model's ActionListener.
      • itemListener

        protected ItemListener itemListener
        The button model's ItemListener.
      • changeEvent

        protected transient ChangeEvent changeEvent
        Only one ChangeEvent is needed per button instance since the event's only state is the source property. The source of events generated is always "this".
    • Constructor Detail

      • AbstractButton

        public AbstractButton​()
    • Method Detail

      • setHideActionText

        @BeanProperty(expert=true,
                      description="Whether the text of the button should come from the <code>Action</code>.")
        public void setHideActionText​(boolean hideActionText)
        Sets the hideActionText property, which determines whether the button displays text from the Action. This is useful only if an Action has been installed on the button.
        Parameters:
        hideActionText - true if the button's text property should not reflect that of the Action; the default is false
        Since:
        1.6
        See Also:
        Swing Components Supporting Action
      • getHideActionText

        public boolean getHideActionText​()
        Returns the value of the hideActionText property, which determines whether the button displays text from the Action. This is useful only if an Action has been installed on the button.
        Returns:
        true if the button's text property should not reflect that of the Action; the default is false
        Since:
        1.6
      • isSelected

        public boolean isSelected​()
        Returns the state of the button. True if the toggle button is selected, false if it's not.
        Returns:
        true if the toggle button is selected, otherwise false
      • setSelected

        public void setSelected​(boolean b)
        Sets the state of the button. Note that this method does not trigger an actionEvent. Call doClick to perform a programmatic action change.
        Parameters:
        b - true if the button is selected, otherwise false
      • doClick

        public void doClick​()
        Programmatically perform a "click". This does the same thing as if the user had pressed and released the button.
      • doClick

        public void doClick​(int pressTime)
        Programmatically perform a "click". This does the same thing as if the user had pressed and released the button. The button stays visually "pressed" for pressTime milliseconds.
        Parameters:
        pressTime - the time to "hold down" the button, in milliseconds
      • setMargin

        @BeanProperty(visualUpdate=true,
                      description="The space between the button\'s border and the label.")
        public void setMargin​(Insets m)
        Sets space for margin between the button's border and the label. Setting to null will cause the button to use the default margin. The button's default Border object will use this value to create the proper margin. However, if a non-default border is set on the button, it is that Border object's responsibility to create the appropriate margin space (else this property will effectively be ignored).
        Parameters:
        m - the space between the border and the label
      • getMargin

        public Insets getMargin​()
        Returns the margin between the button's border and the label.
        Returns:
        an Insets object specifying the margin between the botton's border and the label
        See Also:
        setMargin(java.awt.Insets)
      • setRolloverSelectedIcon

        @BeanProperty(visualUpdate=true,
                      description="The rollover selected icon for the button.")
        public void setRolloverSelectedIcon​(Icon rolloverSelectedIcon)
        Sets the rollover selected icon for the button.
        Parameters:
        rolloverSelectedIcon - the icon used as the "selected rollover" image
        See Also:
        getRolloverSelectedIcon()
      • setDisabledSelectedIcon

        @BeanProperty(visualUpdate=true,
                      description="The disabled selection icon for the button.")
        public void setDisabledSelectedIcon​(Icon disabledSelectedIcon)
        Sets the disabled selection icon for the button.
        Parameters:
        disabledSelectedIcon - the icon used as the disabled selection image
        See Also:
        getDisabledSelectedIcon()
      • getVerticalAlignment

        public int getVerticalAlignment​()
        Returns the vertical alignment of the text and icon.
        Returns:
        the verticalAlignment property, one of the following values:
        • SwingConstants.CENTER (the default)
        • SwingConstants.TOP
        • SwingConstants.BOTTOM
      • setVerticalAlignment

        @BeanProperty(visualUpdate=true,
                      enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"},
                      description="The vertical alignment of the icon and text.")
        public void setVerticalAlignment​(int alignment)
        Sets the vertical alignment of the icon and text.
        Parameters:
        alignment - one of the following values:
        • SwingConstants.CENTER (the default)
        • SwingConstants.TOP
        • SwingConstants.BOTTOM
        Throws:
        IllegalArgumentException - if the alignment is not one of the legal values listed above
      • getHorizontalAlignment

        public int getHorizontalAlignment​()
        Returns the horizontal alignment of the icon and text. AbstractButton's default is SwingConstants.CENTER, but subclasses such as JCheckBox may use a different default.
        Returns:
        the horizontalAlignment property, one of the following values:
        • SwingConstants.RIGHT
        • SwingConstants.LEFT
        • SwingConstants.CENTER
        • SwingConstants.LEADING
        • SwingConstants.TRAILING
      • setHorizontalAlignment

        @BeanProperty(visualUpdate=true,
                      enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"},
                      description="The horizontal alignment of the icon and text.")
        public void setHorizontalAlignment​(int alignment)
        Sets the horizontal alignment of the icon and text. AbstractButton's default is SwingConstants.CENTER, but subclasses such as JCheckBox may use a different default.
        Parameters:
        alignment - the alignment value, one of the following values:
        • SwingConstants.RIGHT
        • SwingConstants.LEFT
        • SwingConstants.CENTER
        • SwingConstants.LEADING
        • SwingConstants.TRAILING
        Throws:
        IllegalArgumentException - if the alignment is not one of the valid values
      • getVerticalTextPosition

        public int getVerticalTextPosition​()
        Returns the vertical position of the text relative to the icon.
        Returns:
        the verticalTextPosition property, one of the following values:
        • SwingConstants.CENTER (the default)
        • SwingConstants.TOP
        • SwingConstants.BOTTOM
      • setVerticalTextPosition

        @BeanProperty(visualUpdate=true,
                      enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"},
                      description="The vertical position of the text relative to the icon.")
        public void setVerticalTextPosition​(int textPosition)
        Sets the vertical position of the text relative to the icon.
        Parameters:
        textPosition - one of the following values:
        • SwingConstants.CENTER (the default)
        • SwingConstants.TOP
        • SwingConstants.BOTTOM
      • getHorizontalTextPosition

        public int getHorizontalTextPosition​()
        Returns the horizontal position of the text relative to the icon.
        Returns:
        the horizontalTextPosition property, one of the following values:
        • SwingConstants.RIGHT
        • SwingConstants.LEFT
        • SwingConstants.CENTER
        • SwingConstants.LEADING
        • SwingConstants.TRAILING (the default)
      • setHorizontalTextPosition

        @BeanProperty(visualUpdate=true,
                      enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"},
                      description="The horizontal position of the text relative to the icon.")
        public void setHorizontalTextPosition​(int textPosition)
        Sets the horizontal position of the text relative to the icon.
        Parameters:
        textPosition - one of the following values:
        • SwingConstants.RIGHT
        • SwingConstants.LEFT
        • SwingConstants.CENTER
        • SwingConstants.LEADING
        • SwingConstants.TRAILING (the default)
        Throws:
        IllegalArgumentException - if textPosition is not one of the legal values listed above
      • getIconTextGap

        public int getIconTextGap​()
        Returns the amount of space between the text and the icon displayed in this button.
        Returns:
        an int equal to the number of pixels between the text and the icon.
        Since:
        1.4
        See Also:
        setIconTextGap(int)
      • setIconTextGap

        @BeanProperty(visualUpdate=true,
                      description="If both the icon and text properties are set, this property defines the space between them.")
        public void setIconTextGap​(int iconTextGap)
        If both the icon and text properties are set, this property defines the space between them.

        The default value of this property is 4 pixels.

        This is a JavaBeans bound property.

        Parameters:
        iconTextGap - the space between icon and text if these properties are set.
        Since:
        1.4
        See Also:
        getIconTextGap()
      • checkHorizontalKey

        protected int checkHorizontalKey​(int key,
                                         String exception)
        Verify that the key argument is a legal value for the horizontalAlignment and horizontalTextPosition properties. Valid values are:
        • SwingConstants.RIGHT
        • SwingConstants.LEFT
        • SwingConstants.CENTER
        • SwingConstants.LEADING
        • SwingConstants.TRAILING
        Parameters:
        key - the property value to check
        exception - the message to use in the IllegalArgumentException that is thrown for an invalid value
        Returns:
        the key argument
        Throws:
        IllegalArgumentException - if key is not one of the legal values listed above
        See Also:
        setHorizontalTextPosition(int), setHorizontalAlignment(int)
      • checkVerticalKey

        protected int checkVerticalKey​(int key,
                                       String exception)
        Verify that the key argument is a legal value for the vertical properties. Valid values are:
        • SwingConstants.CENTER
        • SwingConstants.TOP
        • SwingConstants.BOTTOM
        Parameters:
        key - the property value to check
        exception - the message to use in the IllegalArgumentException that is thrown for an invalid value
        Returns:
        the key argument
        Throws:
        IllegalArgumentException - if key is not one of the legal values listed above
      • setActionCommand

        public void setActionCommand​(String actionCommand)
        Sets the action command for this button.
        Parameters:
        actionCommand - the action command for this button
      • getActionCommand

        public String getActionCommand​()
        Returns the action command for this button.
        Returns:
        the action command for this button
      • setAction

        @BeanProperty(visualUpdate=true,
                      description="the Action instance connected with this ActionEvent source")
        public void setAction​(Action a)
        Sets the Action. The new Action replaces any previously set Action but does not affect ActionListeners independently added with addActionListener. If the Action is already a registered ActionListener for the button, it is not re-registered.

        Setting the Action results in immediately changing all the properties described in Swing Components Supporting Action. Subsequently, the button's properties are automatically updated as the Action's properties change.

        This method uses three other methods to set and help track the Action's property values. It uses the configurePropertiesFromAction method to immediately change the button's properties. To track changes in the Action's property values, this method registers the PropertyChangeListener returned by createActionPropertyChangeListener. The default PropertyChangeListener invokes the actionPropertyChanged method when a property in the Action changes.

        Parameters:
        a - the Action for the AbstractButton, or null
        Since:
        1.3
        See Also:
        Action, getAction(), configurePropertiesFromAction(javax.swing.Action), createActionPropertyChangeListener(javax.swing.Action), actionPropertyChanged(javax.swing.Action, java.lang.String)
      • getAction

        public Action getAction​()
        Returns the currently set Action for this ActionEvent source, or null if no Action is set.
        Returns:
        the Action for this ActionEvent source, or null
        Since:
        1.3
        See Also:
        Action, setAction(javax.swing.Action)
      • configurePropertiesFromAction

        protected void configurePropertiesFromAction​(Action a)
        Sets the properties on this button to match those in the specified Action. Refer to Swing Components Supporting Action for more details as to which properties this sets.
        Parameters:
        a - the Action from which to get the properties, or null
        Since:
        1.3
        See Also:
        Action, setAction(javax.swing.Action)
      • actionPropertyChanged

        protected void actionPropertyChanged​(Action action,
                                             String propertyName)
        Updates the button's state in response to property changes in the associated action. This method is invoked from the PropertyChangeListener returned from createActionPropertyChangeListener. Subclasses do not normally need to invoke this. Subclasses that support additional Action properties should override this and configurePropertiesFromAction.

        Refer to the table at Swing Components Supporting Action for a list of the properties this method sets.

        Parameters:
        action - the Action associated with this button
        propertyName - the name of the property that changed
        Since:
        1.6
        See Also:
        Action, configurePropertiesFromAction(javax.swing.Action)
      • createActionPropertyChangeListener

        protected PropertyChangeListener createActionPropertyChangeListener​(Action a)
        Creates and returns a PropertyChangeListener that is responsible for listening for changes from the specified Action and updating the appropriate properties.

        Warning: If you subclass this do not create an anonymous inner class. If you do the lifetime of the button will be tied to that of the Action.

        Parameters:
        a - the button's action
        Returns:
        the PropertyChangeListener
        Since:
        1.3
        See Also:
        Action, setAction(javax.swing.Action)
      • isBorderPainted

        public boolean isBorderPainted​()
        Gets the borderPainted property.
        Returns:
        the value of the borderPainted property
        See Also:
        setBorderPainted(boolean)
      • setBorderPainted

        @BeanProperty(visualUpdate=true,
                      description="Whether the border should be painted.")
        public void setBorderPainted​(boolean b)
        Sets the borderPainted property. If true and the button has a border, the border is painted. The default value for the borderPainted property is true.

        Some look and feels might not support the borderPainted property, in which case they ignore this.

        Parameters:
        b - if true and border property is not null, the border is painted
        See Also:
        isBorderPainted()
      • isFocusPainted

        public boolean isFocusPainted​()
        Gets the paintFocus property.
        Returns:
        the paintFocus property
        See Also:
        setFocusPainted(boolean)
      • setFocusPainted

        @BeanProperty(visualUpdate=true,
                      description="Whether focus should be painted")
        public void setFocusPainted​(boolean b)
        Sets the paintFocus property, which must be true for the focus state to be painted. The default value for the paintFocus property is true. Some look and feels might not paint focus state; they will ignore this property.
        Parameters:
        b - if true, the focus state should be painted
        See Also:
        isFocusPainted()
      • isContentAreaFilled

        public boolean isContentAreaFilled​()
        Gets the contentAreaFilled property.
        Returns:
        the contentAreaFilled property
        See Also:
        setContentAreaFilled(boolean)
      • setContentAreaFilled

        @BeanProperty(visualUpdate=true,
                      description="Whether the button should paint the content area or leave it transparent.")
        public void setContentAreaFilled​(boolean b)
        Sets the contentAreaFilled property. If true the button will paint the content area. If you wish to have a transparent button, such as an icon only button, for example, then you should set this to false. Do not call setOpaque(false). The default value for the contentAreaFilled property is true.

        This function may cause the component's opaque property to change.

        The exact behavior of calling this function varies on a component-by-component and L&F-by-L&F basis.

        Parameters:
        b - if true, the content should be filled; if false the content area is not filled
        See Also:
        isContentAreaFilled(), JComponent.setOpaque(boolean)
      • isRolloverEnabled

        public boolean isRolloverEnabled​()
        Gets the rolloverEnabled property.
        Returns:
        the value of the rolloverEnabled property
        See Also:
        setRolloverEnabled(boolean)
      • setRolloverEnabled

        @BeanProperty(visualUpdate=true,
                      description="Whether rollover effects should be enabled.")
        public void setRolloverEnabled​(boolean b)
        Sets the rolloverEnabled property, which must be true for rollover effects to occur. The default value for the rolloverEnabled property is false. Some look and feels might not implement rollover effects; they will ignore this property.
        Parameters:
        b - if true, rollover effects should be painted
        See Also:
        isRolloverEnabled()
      • getMnemonic

        public int getMnemonic​()
        Returns the keyboard mnemonic from the current model.
        Returns:
        the keyboard mnemonic from the model
      • setMnemonic

        @BeanProperty(visualUpdate=true,
                      description="the keyboard character mnemonic")
        public void setMnemonic​(int mnemonic)
        Sets the keyboard mnemonic on the current model. The mnemonic is the key which when combined with the look and feel's mouseless modifier (usually Alt) will activate this button if focus is contained somewhere within this button's ancestor window.

        A mnemonic must correspond to a single key on the keyboard and should be specified using one of the VK_XXX keycodes defined in java.awt.event.KeyEvent. These codes and the wider array of codes for international keyboards may be obtained through java.awt.event.KeyEvent.getExtendedKeyCodeForChar. Mnemonics are case-insensitive, therefore a key event with the corresponding keycode would cause the button to be activated whether or not the Shift modifier was pressed.

        If the character defined by the mnemonic is found within the button's label string, the first occurrence of it will be underlined to indicate the mnemonic to the user.

        Parameters:
        mnemonic - the key code which represents the mnemonic
        See Also:
        KeyEvent, setDisplayedMnemonicIndex(int)
      • setMnemonic

        @BeanProperty(visualUpdate=true,
                      description="the keyboard character mnemonic")
        public void setMnemonic​(char mnemonic)
        This method is now obsolete, please use setMnemonic(int) to set the mnemonic for a button. This method is only designed to handle character values which fall between 'a' and 'z' or 'A' and 'Z'.
        Parameters:
        mnemonic - a char specifying the mnemonic value
        See Also:
        setMnemonic(int)
      • setDisplayedMnemonicIndex

        @BeanProperty(visualUpdate=true,
                      description="the index into the String to draw the keyboard character mnemonic at")
        public void setDisplayedMnemonicIndex​(int index)
                                       throws IllegalArgumentException
        Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic. Not all look and feels may support this. A value of -1 indicates either there is no mnemonic, the mnemonic character is not contained in the string, or the developer does not wish the mnemonic to be displayed.

        The value of this is updated as the properties relating to the mnemonic change (such as the mnemonic itself, the text...). You should only ever have to call this if you do not wish the default character to be underlined. For example, if the text was 'Save As', with a mnemonic of 'a', and you wanted the 'A' to be decorated, as 'Save As', you would have to invoke setDisplayedMnemonicIndex(5) after invoking setMnemonic(KeyEvent.VK_A).

        Parameters:
        index - Index into the String to underline
        Throws:
        IllegalArgumentException - will be thrown if index is >= length of the text, or < -1
        Since:
        1.4
        See Also:
        getDisplayedMnemonicIndex()
      • getDisplayedMnemonicIndex

        public int getDisplayedMnemonicIndex​()
        Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.
        Returns:
        index representing mnemonic character
        Since:
        1.4
        See Also:
        setDisplayedMnemonicIndex(int)
      • setMultiClickThreshhold

        public void setMultiClickThreshhold​(long threshhold)
        Sets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events. After the initial mouse press occurs (and action event generated) any subsequent mouse press events which occur on intervals less than the threshhold will be ignored and no corresponding action event generated. By default the threshhold is 0, which means that for each mouse press, an action event will be fired, no matter how quickly the mouse clicks occur. In buttons where this behavior is not desirable (for example, the "OK" button in a dialog), this threshhold should be set to an appropriate positive value.
        Parameters:
        threshhold - the amount of time required between mouse press events to generate corresponding action events
        Throws:
        IllegalArgumentException - if threshhold < 0
        Since:
        1.4
        See Also:
        getMultiClickThreshhold()
      • getMultiClickThreshhold

        public long getMultiClickThreshhold​()
        Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.
        Returns:
        the amount of time required between mouse press events to generate corresponding action events
        Since:
        1.4
        See Also:
        setMultiClickThreshhold(long)
      • addChangeListener

        public void addChangeListener​(ChangeListener l)
        Adds a ChangeListener to the button.
        Parameters:
        l - the listener to be added
      • removeChangeListener

        public void removeChangeListener​(ChangeListener l)
        Removes a ChangeListener from the button.
        Parameters:
        l - the listener to be removed
      • getChangeListeners

        @BeanProperty(bound=false)
        public ChangeListener[] getChangeListeners​()
        Returns an array of all the ChangeListeners added to this AbstractButton with addChangeListener().
        Returns:
        all of the ChangeListeners added or an empty array if no listeners have been added
        Since:
        1.4
      • 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
      • addActionListener

        public void addActionListener​(ActionListener l)
        Adds an ActionListener to the button.
        Parameters:
        l - the ActionListener to be added
      • removeActionListener

        public void removeActionListener​(ActionListener l)
        Removes an ActionListener from the button. If the listener is the currently set Action for the button, then the Action is set to null.
        Parameters:
        l - the listener to be removed
      • getActionListeners

        @BeanProperty(bound=false)
        public ActionListener[] getActionListeners​()
        Returns an array of all the ActionListeners added to this AbstractButton with addActionListener().
        Returns:
        all of the ActionListeners added or an empty array if no listeners have been added
        Since:
        1.4
      • createChangeListener

        protected ChangeListener createChangeListener​()
        Subclasses that want to handle ChangeEvents differently can override this to return another ChangeListener implementation.
        Returns:
        the new ChangeListener
      • fireActionPerformed

        protected void fireActionPerformed​(ActionEvent event)
        Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the event parameter.
        Parameters:
        event - the ActionEvent object
        See Also:
        EventListenerList
      • fireItemStateChanged

        protected void fireItemStateChanged​(ItemEvent event)
        Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the event parameter.
        Parameters:
        event - the ItemEvent object
        See Also:
        EventListenerList
      • createActionListener

        protected ActionListener createActionListener​()
        Returns ActionListener that is added to model.
        Returns:
        the ActionListener
      • createItemListener

        protected ItemListener createItemListener​()
        Returns ItemListener that is added to model.
        Returns:
        the ItemListener
      • getLabel

        @Deprecated
        public String getLabel​()
        Deprecated. - Replaced by getText
        Returns the label text.
        Returns:
        a String containing the label
      • setLabel

        @Deprecated
        @BeanProperty(description="Replace by setText(text)")
        public void setLabel​(String label)
        Deprecated. - Replaced by setText(text)
        Sets the label text.
        Parameters:
        label - a String containing the text
      • getItemListeners

        @BeanProperty(bound=false)
        public ItemListener[] getItemListeners​()
        Returns an array of all the ItemListeners added to this AbstractButton with addItemListener().
        Returns:
        all of the ItemListeners added or an empty array if no listeners have been added
        Since:
        1.4
      • getSelectedObjects

        @BeanProperty(bound=false)
        public Object[] getSelectedObjects​()
        Returns an array (length 1) containing the label or null if the button is not selected.
        Specified by:
        getSelectedObjects in interface ItemSelectable
        Returns:
        an array containing 1 Object: the text of the button, if the item is selected; otherwise null
      • init

        protected void init​(String text,
                            Icon icon)
        Initialization of the AbstractButton.
        Parameters:
        text - the text of the button
        icon - the Icon image to display on the button
      • imageUpdate

        public boolean imageUpdate​(Image img,
                                   int infoflags,
                                   int x,
                                   int y,
                                   int w,
                                   int h)
        This is overridden to return false if the current Icon's Image is not equal to the passed in Image img.
        Specified by:
        imageUpdate in interface ImageObserver
        Overrides:
        imageUpdate in class Component
        Parameters:
        img - the Image to be compared
        infoflags - flags used to repaint the button when the image is updated and which determine how much is to be painted
        x - the x coordinate
        y - the y coordinate
        w - the width
        h - the height
        Returns:
        false if the infoflags indicate that the image is completely loaded; true otherwise.
        See Also:
        ImageObserver, Component.imageUpdate(java.awt.Image, int, int, int, int, int)
      • paramString

        protected String paramString​()
        Returns a string representation of this AbstractButton. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be null.

        Overriding paramString to provide information about the specific new aspects of the JFC components.

        Overrides:
        paramString in class JComponent
        Returns:
        a string representation of this AbstractButton