Module java.desktop
Package javax.swing

Class DefaultButtonModel

  • All Implemented Interfaces:
    ItemSelectable, Serializable, ButtonModel
    Direct Known Subclasses:
    JToggleButton.ToggleButtonModel

    public class DefaultButtonModel
    extends Object
    implements ButtonModel, Serializable
    The default implementation of a Button component's data model.

    Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see XMLEncoder.

    Since:
    1.2
    • Field Detail

      • stateMask

        protected int stateMask
        The bitmask used to store the state of the button.
      • actionCommand

        protected String actionCommand
        The action command string fired by the button.
      • group

        protected ButtonGroup group
        The button group that the button belongs to.
      • mnemonic

        protected int mnemonic
        The button's mnemonic.
      • changeEvent

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

        protected EventListenerList listenerList
        Stores the listeners on this model.
      • ARMED

        public static final int ARMED
        Identifies the "armed" bit in the bitmask, which indicates partial commitment towards choosing/triggering the button.
        See Also:
        Constant Field Values
      • SELECTED

        public static final int SELECTED
        Identifies the "selected" bit in the bitmask, which indicates that the button has been selected. Only needed for certain types of buttons - such as radio button or check box.
        See Also:
        Constant Field Values
      • PRESSED

        public static final int PRESSED
        Identifies the "pressed" bit in the bitmask, which indicates that the button is pressed.
        See Also:
        Constant Field Values
      • ENABLED

        public static final int ENABLED
        Identifies the "enabled" bit in the bitmask, which indicates that the button can be selected by an input device (such as a mouse pointer).
        See Also:
        Constant Field Values
      • ROLLOVER

        public static final int ROLLOVER
        Identifies the "rollover" bit in the bitmask, which indicates that the mouse is over the button.
        See Also:
        Constant Field Values
    • Constructor Detail

      • DefaultButtonModel

        public DefaultButtonModel()
        Constructs a DefaultButtonModel.
    • Method Detail

      • fireStateChanged

        protected void fireStateChanged()
        Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.
        See Also:
        EventListenerList
      • fireActionPerformed

        protected void fireActionPerformed​(ActionEvent e)
        Notifies all listeners that have registered interest for notification on this event type.
        Parameters:
        e - the ActionEvent to deliver to listeners
        See Also:
        EventListenerList
      • fireItemStateChanged

        protected void fireItemStateChanged​(ItemEvent e)
        Notifies all listeners that have registered interest for notification on this event type.
        Parameters:
        e - the ItemEvent to deliver to listeners
        See Also:
        EventListenerList
      • getListeners

        public <T extends EventListener> T[] getListeners​(Class<T> listenerType)
        Returns an array of all the objects currently registered as FooListeners upon this model. FooListeners are registered using the addFooListener method.

        You can specify the listenerType argument with a class literal, such as FooListener.class. For example, you can query a DefaultButtonModel instance m for its action listeners with the following code:

        ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class));
        If no such listeners exist, this method returns an empty array.
        Type Parameters:
        T - the type of requested listeners
        Parameters:
        listenerType - the type of listeners requested; this parameter should specify an interface that descends from java.util.EventListener
        Returns:
        an array of all objects registered as FooListeners on this model, or an empty array if no such listeners have been added
        Throws:
        ClassCastException - if listenerType doesn't specify a class or interface that implements java.util.EventListener
        Since:
        1.3
        See Also:
        getActionListeners(), getChangeListeners(), getItemListeners()
      • getSelectedObjects

        public Object[] getSelectedObjects()
        Overridden to return null.
        Specified by:
        getSelectedObjects in interface ItemSelectable
        Returns:
        the list of selected objects, or null
      • getGroup

        public ButtonGroup getGroup()
        Returns the group that the button belongs to. Normally used with radio buttons, which are mutually exclusive within their group.
        Specified by:
        getGroup in interface ButtonModel
        Returns:
        the ButtonGroup that the button belongs to
        Since:
        1.3