# Class BasicButtonListener

java.lang.Object
javax.swing.plaf.basic.BasicButtonListener

All Implemented Interfaces:
  `FocusListener, MouseListener, MouseMotionListener, PropertyChangeListener, EventListener, ChangeListener`

public class BasicButtonListener extends Object implements MouseListener, MouseMotionListener, FocusListener, ChangeListener, PropertyChangeListener
Button Listener

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BasicButtonListener(AbstractButton b)`
  Constructs a new instance of `BasicButtonListener`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `checkOpacity(AbstractButton b)`
  Checks the opacity of the `AbstractButton`.
  `void`
  `focusGained(FocusEvent e)`
  Invoked when a component gains the keyboard focus.
  `void`
  `focusLost(FocusEvent e)`
  Invoked when a component loses the keyboard focus.
  `void`
  `installKeyboardActions(JComponent c)`
  Register default key actions: pressing space to "click" a button and registering the keyboard mnemonic (if any).
  `void`
  `mouseClicked(MouseEvent e)`
  Invoked when the mouse button has been clicked (pressed and released) on a component.
  `void`
  `mouseDragged(MouseEvent e)`
  Invoked when a mouse button is pressed on a component and then dragged.
  `void`
  `mouseEntered(MouseEvent e)`
  Invoked when the mouse enters a component.
  `void`
  `mouseExited(MouseEvent e)`
  Invoked when the mouse exits a component.
  `void`
  `mouseMoved(MouseEvent e)`
  Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.
  `void`
  `mousePressed(MouseEvent e)`
  Invoked when a mouse button has been pressed on a component.
  `void`
  `mouseReleased(MouseEvent e)`
  Invoked when a mouse button has been released on a component.
  `void`
  `propertyChange(PropertyChangeEvent e)`
  This method gets called when a bound property is changed.
  `void`
  `stateChanged(ChangeEvent e)`
  Invoked when the target of the listener has changed its state.
  `void`
  `uninstallKeyboardActions(JComponent c)`
  Unregister default key actions.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### BasicButtonListener

    public BasicButtonListener(AbstractButton b)
    Constructs a new instance of `BasicButtonListener`.
    Parameters:
      `b` - an abstract button

- ## Method Details

  - ### propertyChange

    public void propertyChange(PropertyChangeEvent e)
    Description copied from interface: `PropertyChangeListener`
    This method gets called when a bound property is changed.
    Specified by:
      `propertyChange` in interface `PropertyChangeListener`
    Parameters:
      `e` - A PropertyChangeEvent object describing the event source and the property that has changed.

  - ### checkOpacity

    protected void checkOpacity(AbstractButton b)
    Checks the opacity of the `AbstractButton`.
    Parameters:
      `b` - an abstract button

  - ### installKeyboardActions

    public void installKeyboardActions(JComponent c)
    Register default key actions: pressing space to "click" a button and registering the keyboard mnemonic (if any).
    Parameters:
      `c` - a component

  - ### uninstallKeyboardActions

    public void uninstallKeyboardActions(JComponent c)
    Unregister default key actions.
    Parameters:
      `c` - a component

  - ### stateChanged

    public void stateChanged(ChangeEvent e)
    Description copied from interface: `ChangeListener`
    Invoked when the target of the listener has changed its state.
    Specified by:
      `stateChanged` in interface `ChangeListener`
    Parameters:
      `e` - a ChangeEvent object

  - ### focusGained

    public void focusGained(FocusEvent e)
    Description copied from interface: `FocusListener`
    Invoked when a component gains the keyboard focus.
    Specified by:
      `focusGained` in interface `FocusListener`
    Parameters:
      `e` - the event to be processed

  - ### focusLost

    public void focusLost(FocusEvent e)
    Description copied from interface: `FocusListener`
    Invoked when a component loses the keyboard focus.
    Specified by:
      `focusLost` in interface `FocusListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseMoved

    public void mouseMoved(MouseEvent e)
    Description copied from interface: `MouseMotionListener`
    Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.
    Specified by:
      `mouseMoved` in interface `MouseMotionListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseDragged

    public void mouseDragged(MouseEvent e)
    Description copied from interface: `MouseMotionListener`
    Invoked when a mouse button is pressed on a component and then dragged. `MOUSE_DRAGGED` events will continue to be delivered to the component where the drag originated until the mouse button is released (regardless of whether the mouse position is within the bounds of the component).

    Due to platform-dependent Drag&Drop implementations, `MOUSE_DRAGGED` events may not be delivered during a native Drag&Drop operation.

    Specified by:
      `mouseDragged` in interface `MouseMotionListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseClicked

    public void mouseClicked(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when the mouse button has been clicked (pressed and released) on a component.
    Specified by:
      `mouseClicked` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mousePressed

    public void mousePressed(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when a mouse button has been pressed on a component.
    Specified by:
      `mousePressed` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseReleased

    public void mouseReleased(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when a mouse button has been released on a component.
    Specified by:
      `mouseReleased` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseEntered

    public void mouseEntered(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when the mouse enters a component.
    Specified by:
      `mouseEntered` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseExited

    public void mouseExited(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when the mouse exits a component.
    Specified by:
      `mouseExited` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed