javax.swing

## Class FocusManager

- java.lang.Object
- - java.awt.KeyboardFocusManager
  - - java.awt.DefaultKeyboardFocusManager
    - - javax.swing.FocusManager

All Implemented Interfaces:
  KeyEventDispatcher, KeyEventPostProcessor

Direct Known Subclasses:
  DefaultFocusManager

    public abstract class FocusManager
    extends DefaultKeyboardFocusManager

This class has been obsoleted by the 1.4 focus APIs. While client code may still use this class, developers are strongly encouraged to use `java.awt.KeyboardFocusManager` and `java.awt.DefaultKeyboardFocusManager` instead.

Please see How to Use the Focus Subsystem, a section in The Java Tutorial, and the Focus Specification for more information.

See Also:
  Focus Specification

### Field Summary

Fields
`static String` `FOCUS_MANAGER_CLASS_PROPERTY` This field is obsolete, and its use is discouraged since its specification is incompatible with the 1.4 focus APIs.

### Fields inherited from class java.awt.KeyboardFocusManager

`BACKWARD_TRAVERSAL_KEYS, DOWN_CYCLE_TRAVERSAL_KEYS, FORWARD_TRAVERSAL_KEYS, UP_CYCLE_TRAVERSAL_KEYS`

### Constructor Summary

Constructors
Constructor and Description
`FocusManager()`

### Method Summary

Methods
`static void` `disableSwingFocusManager()` Deprecated. as of 1.4, replaced by `KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy)`
`static FocusManager` `getCurrentManager()` Returns the current `KeyboardFocusManager` instance for the calling thread's context.
`static boolean` `isFocusManagerEnabled()` Deprecated. As of 1.4, replaced by `KeyboardFocusManager.getDefaultFocusTraversalPolicy()`
`static void` `setCurrentManager(FocusManager aFocusManager)` Sets the current `KeyboardFocusManager` instance for the calling thread's context.

### Methods inherited from class java.awt.DefaultKeyboardFocusManager

`dequeueKeyEvents, discardKeyEvents, dispatchEvent, dispatchKeyEvent, downFocusCycle, enqueueKeyEvents, focusNextComponent, focusPreviousComponent, postProcessKeyEvent, processKeyEvent, upFocusCycle`

### Methods inherited from class java.awt.KeyboardFocusManager

`addKeyEventDispatcher, addKeyEventPostProcessor, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clearGlobalFocusOwner, downFocusCycle, firePropertyChange, fireVetoableChange, focusNextComponent, focusPreviousComponent, getActiveWindow, getCurrentFocusCycleRoot, getCurrentKeyboardFocusManager, getDefaultFocusTraversalKeys, getDefaultFocusTraversalPolicy, getFocusedWindow, getFocusOwner, getGlobalActiveWindow, getGlobalCurrentFocusCycleRoot, getGlobalFocusedWindow, getGlobalFocusOwner, getGlobalPermanentFocusOwner, getKeyEventDispatchers, getKeyEventPostProcessors, getPermanentFocusOwner, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, redispatchEvent, removeKeyEventDispatcher, removeKeyEventPostProcessor, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener, setCurrentKeyboardFocusManager, setDefaultFocusTraversalKeys, setDefaultFocusTraversalPolicy, setGlobalActiveWindow, setGlobalCurrentFocusCycleRoot, setGlobalFocusedWindow, setGlobalFocusOwner, setGlobalPermanentFocusOwner, upFocusCycle`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### FOCUS_MANAGER_CLASS_PROPERTY

    public static final String FOCUS_MANAGER_CLASS_PROPERTY

This field is obsolete, and its use is discouraged since its specification is incompatible with the 1.4 focus APIs. The current FocusManager is no longer a property of the UI. Client code must query for the current FocusManager using `KeyboardFocusManager.getCurrentKeyboardFocusManager()`. See the Focus Specification for more information.

See Also:
  `KeyboardFocusManager.getCurrentKeyboardFocusManager()`, Focus Specification, Constant Field Values

### Constructor Detail

#### FocusManager

    public FocusManager()

### Method Detail

#### getCurrentManager

    public static FocusManager getCurrentManager()

Returns the current `KeyboardFocusManager` instance for the calling thread's context.

Returns:
  this thread's context's `KeyboardFocusManager`
See Also:
  `setCurrentManager(javax.swing.FocusManager)`

#### setCurrentManager

    public static void setCurrentManager(FocusManager aFocusManager)
                                  throws SecurityException

Sets the current `KeyboardFocusManager` instance for the calling thread's context. If `null` is specified, then the current `KeyboardFocusManager` is replaced with a new instance of `DefaultKeyboardFocusManager`.

If a `SecurityManager` is installed, the calling thread must be granted the `AWTPermission` "replaceKeyboardFocusManager" in order to replace the the current `KeyboardFocusManager`. If this permission is not granted, this method will throw a `SecurityException`, and the current `KeyboardFocusManager` will be unchanged.

Parameters:
  `aFocusManager` - the new `KeyboardFocusManager` for this thread's context
Throws:
  `SecurityException` - if the calling thread does not have permission to replace the current `KeyboardFocusManager`
See Also:
  `getCurrentManager()`, `DefaultKeyboardFocusManager`

#### disableSwingFocusManager

    @Deprecated
    public static void disableSwingFocusManager()

Deprecated. as of 1.4, replaced by `KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy)`
Changes the current `KeyboardFocusManager`'s default `FocusTraversalPolicy` to `DefaultFocusTraversalPolicy`.

See Also:
  `DefaultFocusTraversalPolicy`, `KeyboardFocusManager.setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy)`

#### isFocusManagerEnabled

    @Deprecated
    public static boolean isFocusManagerEnabled()

Deprecated. As of 1.4, replaced by `KeyboardFocusManager.getDefaultFocusTraversalPolicy()`
Returns whether the application has invoked `disableSwingFocusManager()`.

See Also:
  `disableSwingFocusManager()`

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.