Class ActionRepeatableButtonModel

  • All Implemented Interfaces:
    java.awt.ItemSelectable, java.io.Serializable, javax.swing.ButtonModel, ActionButtonModel

    public class ActionRepeatableButtonModel
    extends javax.swing.DefaultButtonModel
    implements ActionButtonModel
    Extension of the default button model that supports the ActionButtonModel interface and repeated invocation of action listeners on mouse rollover. This is the default core action model set on JCommandButtons.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.swing.Timer autoRepeatTimer
      Timer for the auto-repeat action mode.
      private JCommandButton commandButton
      The button behind the model.
      private boolean toFireActionOnPress
      Indication whether the action is fired on mouse press (as opposed to mouse release).
      • Fields inherited from class javax.swing.DefaultButtonModel

        actionCommand, ARMED, changeEvent, ENABLED, group, listenerList, mnemonic, PRESSED, ROLLOVER, SELECTED, stateMask
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private boolean isActionTimerRunning()
      Checks whether the action timer is running.
      boolean isFireActionOnPress()
      Returns indication whether the associated actions should be fired on mouse press instead of mouse release.
      boolean isSelected()  
      void setFireActionOnPress​(boolean toFireActionOnPress)
      Sets indication whether the associated actions should be fired on mouse press instead of mouse release.
      void setPressed​(boolean b)  
      void setRollover​(boolean b)  
      void setSelected​(boolean b)  
      private void startActionTimer​(int modifiers)
      Starts the action timer, passing the specified modifiers to the action event that will be fired in a loop.
      private void stopActionTimer()
      Stop the action timer.
      • Methods inherited from class javax.swing.DefaultButtonModel

        addActionListener, addChangeListener, addItemListener, fireActionPerformed, fireItemStateChanged, fireStateChanged, getActionCommand, getActionListeners, getChangeListeners, getGroup, getItemListeners, getListeners, getMnemonic, getSelectedObjects, isArmed, isEnabled, isPressed, isRollover, removeActionListener, removeChangeListener, removeItemListener, setActionCommand, setArmed, setEnabled, setGroup, setMnemonic
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.swing.ButtonModel

        addActionListener, addChangeListener, addItemListener, getActionCommand, getMnemonic, isArmed, isEnabled, isPressed, isRollover, removeActionListener, removeChangeListener, removeItemListener, setActionCommand, setArmed, setEnabled, setGroup, setMnemonic
      • Methods inherited from interface java.awt.ItemSelectable

        getSelectedObjects
    • Field Detail

      • commandButton

        private JCommandButton commandButton
        The button behind the model.
      • autoRepeatTimer

        private javax.swing.Timer autoRepeatTimer
        Timer for the auto-repeat action mode.
      • toFireActionOnPress

        private boolean toFireActionOnPress
        Indication whether the action is fired on mouse press (as opposed to mouse release).
    • Constructor Detail

      • ActionRepeatableButtonModel

        public ActionRepeatableButtonModel​(JCommandButton commandButton)
        Creates a new button model.
        Parameters:
        commandButton - The associated command button.
    • Method Detail

      • isSelected

        public boolean isSelected()
        Specified by:
        isSelected in interface javax.swing.ButtonModel
        Overrides:
        isSelected in class javax.swing.DefaultButtonModel
      • setSelected

        public void setSelected​(boolean b)
        Specified by:
        setSelected in interface javax.swing.ButtonModel
        Overrides:
        setSelected in class javax.swing.DefaultButtonModel
      • setPressed

        public void setPressed​(boolean b)
        Specified by:
        setPressed in interface javax.swing.ButtonModel
        Overrides:
        setPressed in class javax.swing.DefaultButtonModel
      • setRollover

        public void setRollover​(boolean b)
        Specified by:
        setRollover in interface javax.swing.ButtonModel
        Overrides:
        setRollover in class javax.swing.DefaultButtonModel
      • stopActionTimer

        private void stopActionTimer()
        Stop the action timer.
      • isActionTimerRunning

        private boolean isActionTimerRunning()
        Checks whether the action timer is running.
        Returns:
        true if the action timer is running, false otherwise.
      • startActionTimer

        private void startActionTimer​(int modifiers)
        Starts the action timer, passing the specified modifiers to the action event that will be fired in a loop.
        Parameters:
        modifiers - Modifiers for the action event to be fired.
      • isFireActionOnPress

        public boolean isFireActionOnPress()
        Description copied from interface: ActionButtonModel
        Returns indication whether the associated actions should be fired on mouse press instead of mouse release.
        Specified by:
        isFireActionOnPress in interface ActionButtonModel
        Returns:
        true if the associated actions are fired on mouse press, false if the associated actions are fired on mouse release.
      • setFireActionOnPress

        public void setFireActionOnPress​(boolean toFireActionOnPress)
        Description copied from interface: ActionButtonModel
        Sets indication whether the associated actions should be fired on mouse press instead of mouse release.
        Specified by:
        setFireActionOnPress in interface ActionButtonModel
        Parameters:
        toFireActionOnPress - if true, the associated actions will be fired on mouse press, otherwise the associated actions will be fired on mouse release.