java.awt.event.FocusEvent Maven / Gradle / Ivy
/*
NOTICE
(c) 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
Neither this file nor any files generated from it describe a complete
specification, and they may only be used as described below. For
example, no permission is given for you to incorporate this file, in
whole or in part, in an implementation of a Java specification.
Sun Microsystems Inc. owns the copyright in this file and it is provided
to you for informative, as opposed to normative, use. The file and any
files generated from it may be used to generate other informative
documentation, such as a unified set of documents of API signatures for
a platform that includes technologies expressed as Java APIs. The file
may also be used to produce "compilation stubs," which allow
applications to be compiled and validated for such platforms.
Any work generated from this file, such as unified javadocs or compiled
stub files, must be accompanied by this notice in its entirety.
This work corresponds to the API signatures of JSR 217: Personal Basis
Profile 1.1. In the event of a discrepency between this work and the
JSR 217 specification, which is available at
http://www.jcp.org/en/jsr/detail?id=217, the latter takes precedence.
*/
package java.awt.event;
import java.awt.Component;
// import java.awt.Event;
// import sun.awt.AppContext;
// import sun.awt.SunToolkit;
// PBP/PP 6214663
/**
* 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. 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.
*
* @see FocusAdapter
* @see FocusListener
* @see Tutorial: Writing a Focus Listener
* @see Reference: The Java Class Libraries (update file)
*
* @author Carl Quinn
* @author Amy Fowler
* @version 1.28 01/23/03
* @since 1.1
*/
public class FocusEvent extends ComponentEvent
{
/**
* The first number in the range of ids used for focus events.
*/
public static final int FOCUS_FIRST = 1004;
/**
* The last number in the range of ids used for focus events.
*/
public static final int FOCUS_LAST = 1005;
/**
* This event indicates that the Component is now the focus owner.
*/
public static final int FOCUS_GAINED = FOCUS_FIRST;
/**
* This event indicates that the Component is no longer the focus owner.
*/
public static final int FOCUS_LOST = 1 + FOCUS_FIRST;
/**
* A focus event can have two different levels, permanent and temporary.
* It will be set to true if some operation takes away the focus
* temporarily and intends on getting it back once the event is completed.
* Otherwise it will be set to false.
*
* @serial
* @see #isTemporary
*/
boolean temporary;
/*
* JDK 1.1 serialVersionUID
*/
private static final long serialVersionUID = 523753786457416396L;
/**
* 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.
*
* @param source the Component
that originated the event
* @param id FOCUS_GAINED
or FOCUS_LOST
* @param temporary true
if the focus change is temporary;
* false
otherwise
* @param opposite the other Component involved in the focus change,
* or null
*/
public FocusEvent(Component source, int id, boolean temporary, Component
opposite)
{ super(null, 0);}
/**
* Constructs a FocusEvent
object and identifies
* whether or not the change is temporary.
*
Note that passing in an invalid id
results in
* unspecified behavior.
*
* @param source the Component
that originated the event
* @param id an integer indicating the type of event
* @param temporary true
if the focus change is temporary;
* false
otherwise
*/
public FocusEvent(Component source, int id, boolean temporary) { super(null, 0);}
/**
* Constructs a FocusEvent
object and identifies it
* as a permanent change in focus.
*
Note that passing in an invalid id
results in
* unspecified behavior.
*
* @param source the Component
that originated the event
* @param id an integer indicating the type of event
*/
public FocusEvent(Component source, int id) { super(null, 0); }
/**
* Identifies the focus change event as temporary or permanent.
*
* @return true
if the focus change is temporary;
* false
otherwise
*/
public boolean isTemporary() { return false; }
/**
* 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.
*
* @return the other Component involved in the focus change, or null
* @since 1.4
*/
public Component getOppositeComponent() { return null;}
/**
* Returns a parameter string identifying this event.
* This method is useful for event-logging and for debugging.
*
* @return a string identifying the event and its attributes
*/
public String paramString() { return null; }
}