Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt.event
Class FocusEvent

    java.lang.Object
      java.util.EventObject
          java.awt.AWTEvent
              java.awt.event.ComponentEvent
                  java.awt.event.FocusEvent

All Implemented Interfaces:
  Serializable

    public class FocusEvent

extends ComponentEvent

A low-level event which indicates that a Component has gained or lost the input focus. This low-level event is generated by a Component (such as a TextField). The event is passed to every `FocusListener` or `FocusAdapter` object which registered to receive such events using the Component's `addFocusListener` method. (`FocusAdapter` objects implement the `FocusListener` interface.) Each such listener object gets this `FocusEvent` when the event occurs.

There are two levels of focus events: permanent and temporary. Permanent focus change events occur when focus is directly moved from one Component to another, such as through a call to requestFocus() or as the user uses the TAB key to traverse Components. Temporary focus change events occur when focus is temporarily lost for a Component as the indirect result of another operation, such as Window deactivation or a Scrollbar drag. In this case, the original focus state will automatically be restored once that operation is finished, or, for the case of Window deactivation, when the Window is reactivated. Both permanent and temporary focus events are delivered using the FOCUS_GAINED and FOCUS_LOST event ids; the level may be distinguished in the event using the isTemporary() method.

Since:
  1.1
See Also:
  `FocusAdapter`, `FocusListener`, Tutorial: Writing a Focus Listener, Reference: The Java Class Libraries (update file), Serialized Form

Field Summary
`static int` | `FOCUS_FIRST` The first number in the range of ids used for focus events.
`static int` | `FOCUS_GAINED` This event indicates that the Component is now the focus owner.
`static int` | `FOCUS_LAST` The last number in the range of ids used for focus events.
`static int` | `FOCUS_LOST` This event indicates that the Component is no longer the focus owner.

Fields inherited from class java.awt.event.ComponentEvent
`COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN`

Fields inherited from class java.awt.AWTEvent
`ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK`

Fields inherited from class java.util.EventObject
`source`

Constructor Summary
`FocusEvent(Component source, int id)` Constructs a `FocusEvent` object and identifies it as a permanent change in focus.
`FocusEvent(Component source, int id, boolean temporary)` Constructs a `FocusEvent` object and identifies whether or not the change is temporary.
`FocusEvent(Component source, int id, boolean temporary, Component opposite)` Constructs a `FocusEvent` object with the specified temporary state and opposite `Component`.

Method Summary
`Component` | `getOppositeComponent()` Returns the other Component involved in this focus change.
`boolean` | `isTemporary()` Identifies the focus change event as temporary or permanent.
`String` | `paramString()` Returns a parameter string identifying this event.

Methods inherited from class java.awt.event.ComponentEvent
`getComponent`

Methods inherited from class java.awt.AWTEvent
`consume, getID, isConsumed, setSource, toString`

Methods inherited from class java.util.EventObject
`getSource`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### FOCUS_FIRST

    public static final int FOCUS_FIRST

  The first number in the range of ids used for focus events.

  See Also:
    Constant Field Values

### FOCUS_LAST

    public static final int FOCUS_LAST

  The last number in the range of ids used for focus events.

  See Also:
    Constant Field Values

### FOCUS_GAINED

    public static final int FOCUS_GAINED

  This event indicates that the Component is now the focus owner.

  See Also:
    Constant Field Values

### FOCUS_LOST

    public static final int FOCUS_LOST

  This event indicates that the Component is no longer the focus owner.

  See Also:
    Constant Field Values

Constructor Detail

### FocusEvent

    public FocusEvent(Component source,
                      int id,
                      boolean temporary,
                      Component opposite)

  Constructs a `FocusEvent` object with the specified temporary state and opposite `Component`. The opposite `Component` is the other `Component` involved in this focus change. For a `FOCUS_GAINED` event, this is the `Component` that lost focus. For a `FOCUS_LOST` event, this is the `Component` that gained focus. If this focus change occurs with a native application, with a Java application in a different VM, or with no other `Component`, then the opposite `Component` is `null`.

  Note that passing in an invalid `id` results in unspecified behavior. This method throws an `IllegalArgumentException` if `source` is `null`.

  Parameters:
    `source` - the `Component` that originated the event
    `id` - `FOCUS_GAINED` or `FOCUS_LOST`
    `temporary` - `true` if the focus change is temporary; `false` otherwise
    `opposite` - the other Component involved in the focus change, or `null`
  Throws:
    `IllegalArgumentException` - if `source` is null

### FocusEvent

    public FocusEvent(Component source,
                      int id,
                      boolean temporary)

  Constructs a `FocusEvent` object and identifies whether or not the change is temporary.

  Note that passing in an invalid `id` results in unspecified behavior. This method throws an `IllegalArgumentException` if `source` is `null`.

  Parameters:
    `source` - the `Component` that originated the event
    `id` - an integer indicating the type of event
    `temporary` - `true` if the focus change is temporary; `false` otherwise
  Throws:
    `IllegalArgumentException` - if `source` is null

### FocusEvent

    public FocusEvent(Component source,
                      int id)

  Constructs a `FocusEvent` object and identifies it as a permanent change in focus.

  Note that passing in an invalid `id` results in unspecified behavior. This method throws an `IllegalArgumentException` if `source` is `null`.

  Parameters:
    `source` - the `Component` that originated the event
    `id` - an integer indicating the type of event
  Throws:
    `IllegalArgumentException` - if `source` is null

Method Detail

### isTemporary

    public boolean isTemporary()

  Identifies the focus change event as temporary or permanent.

  Returns:
    `true` if the focus change is temporary; `false` otherwise

### getOppositeComponent

    public Component getOppositeComponent()

  Returns the other Component involved in this focus change. For a FOCUS_GAINED event, this is the Component that lost focus. For a FOCUS_LOST event, this is the Component that gained focus. If this focus change occurs with a native application, with a Java application in a different VM or context, or with no other Component, then null is returned.

  Returns:
    the other Component involved in the focus change, or null
  Since:
    1.4

### paramString

    public String paramString()

  Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.

  Overrides:
    `paramString` in class `ComponentEvent`
  Returns:
    a string identifying the event and its attributes

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.