Module java.desktop
Package javax.swing

Class DefaultButtonModel

java.lang.Object
javax.swing.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 Details

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

    • DefaultButtonModel

      public DefaultButtonModel()
      Constructs a DefaultButtonModel.
  • Method Details

    • getChangeListeners

      public ChangeListener[] getChangeListeners()
      Returns an array of all the change listeners registered on this DefaultButtonModel.
      Returns:
      all of this model's ChangeListeners or an empty array if no change listeners are currently registered
      Since:
      1.4
      See Also:
      ButtonModel.addChangeListener(javax.swing.event.ChangeListener), ButtonModel.removeChangeListener(javax.swing.event.ChangeListener)
    • 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
    • getActionListeners

      public ActionListener[] getActionListeners()
      Returns an array of all the action listeners registered on this DefaultButtonModel.
      Returns:
      all of this model's ActionListeners or an empty array if no action listeners are currently registered
      Since:
      1.4
      See Also:
      ButtonModel.addActionListener(java.awt.event.ActionListener), ButtonModel.removeActionListener(java.awt.event.ActionListener)
    • 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
    • getItemListeners

      public ItemListener[] getItemListeners()
      Returns an array of all the item listeners registered on this DefaultButtonModel.
      Returns:
      all of this model's ItemListeners or an empty array if no item listeners are currently registered
      Since:
      1.4
      See Also:
      ButtonModel.addItemListener(java.awt.event.ItemListener), ButtonModel.removeItemListener(java.awt.event.ItemListener)
    • 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