java.awt.event

## Interface FocusListener

- All Superinterfaces:
    EventListener
  All Known Implementing Classes:
    AWTEventMulticaster, BasicButtonListener, BasicComboBoxEditor, BasicComboBoxEditor.UIResource, BasicComboBoxUI.FocusHandler, BasicListUI.FocusHandler, BasicSliderUI.FocusHandler, BasicSplitPaneUI.FocusHandler, BasicTabbedPaneUI.FocusHandler, BasicTableUI.FocusHandler, BasicTextUI.BasicCaret, BasicToolBarUI.ToolBarFocusListener, BasicTreeUI.FocusHandler, Component.AccessibleAWTComponent.AccessibleAWTFocusHandler, DefaultCaret, FocusAdapter, JComponent.AccessibleJComponent.AccessibleFocusHandler, MetalComboBoxEditor, MetalComboBoxEditor.UIResource

      public interface FocusListener
      extends EventListener

  The listener interface for receiving keyboard focus events on a component. The class that is interested in processing a focus event either implements this interface (and all the methods it contains) or extends the abstract `FocusAdapter` class (overriding only the methods of interest). The listener object created from that class is then registered with a component using the component's `addFocusListener` method. When the component gains or loses the keyboard focus, the relevant method in the listener object is invoked, and the `FocusEvent` is passed to it.
  Since:
    1.1
  See Also:
    `FocusAdapter`, `FocusEvent`, Tutorial: Writing a Focus Listener

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `focusGained(FocusEvent e)` | Invoked when a component gains the keyboard focus.
    `void` | `focusLost(FocusEvent e)` | Invoked when a component loses the keyboard focus.

- - ### Method Detail

    - #### focusGained

          void focusGained(FocusEvent e)

      Invoked when a component gains the keyboard focus.

    - #### focusLost

          void focusLost(FocusEvent e)

      Invoked when a component loses the keyboard focus.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.