FileDocCategorySizeDatePackage
FocusManager.javaAPI DocJava SE 5 API5096Fri Aug 26 14:57:54 BST 2005javax.swing

FocusManager

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
Focus Specification
version
1.28, 05/18/04
author
Arnaud Weber
author
David Mendenhall

Fields Summary
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.
private static boolean
enabled
Constructors Summary
Methods Summary
public static voiddisableSwingFocusManager()
Changes the current KeyboardFocusManager's default FocusTraversalPolicy to DefaultFocusTraversalPolicy.

see
java.awt.DefaultFocusTraversalPolicy
see
java.awt.KeyboardFocusManager#setDefaultFocusTraversalPolicy
deprecated
as of 1.4, replaced by KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy)

	if (enabled) {
	    enabled = false;
	    KeyboardFocusManager.getCurrentKeyboardFocusManager().
		setDefaultFocusTraversalPolicy(
                    new DefaultFocusTraversalPolicy());
	}
    
public static javax.swing.FocusManagergetCurrentManager()
Returns the current KeyboardFocusManager instance for the calling thread's context.

return
this thread's context's KeyboardFocusManager
see
#setCurrentManager


                          
        
	KeyboardFocusManager manager =
	    KeyboardFocusManager.getCurrentKeyboardFocusManager();
	if (manager instanceof FocusManager) {
	    return (FocusManager)manager;
	} else {
	    return new DelegatingDefaultFocusManager(manager);
	}
    
public static booleanisFocusManagerEnabled()
Returns whether the application has invoked disableSwingFocusManager().

see
#disableSwingFocusManager
deprecated
As of 1.4, replaced by KeyboardFocusManager.getDefaultFocusTraversalPolicy()

	return enabled;
    
public static voidsetCurrentManager(javax.swing.FocusManager aFocusManager)
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.

param
aFocusManager the new KeyboardFocusManager for this thread's context
see
#getCurrentManager
see
java.awt.DefaultKeyboardFocusManager
throws
SecurityException if the calling thread does not have permission to replace the current KeyboardFocusManager

	// Note: This method is not backward-compatible with 1.3 and earlier
	// releases. It now throws a SecurityException in an applet, whereas
	// in previous releases, it did not. This issue was discussed at
	// length, and ultimately approved by Hans.
        KeyboardFocusManager toSet = 
            (aFocusManager instanceof DelegatingDefaultFocusManager)
                ? ((DelegatingDefaultFocusManager)aFocusManager).getDelegate()
                : aFocusManager;
        KeyboardFocusManager.setCurrentKeyboardFocusManager(toSet);