java.awt.event

Class FocusEvent

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, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, 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, consumed, id

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, paramString

Methods inherited from class java.awt.AWTEvent

consume, getID, isConsumed, paramString, setSource, toString

Methods inherited from class java.util.EventObject

getSource, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

FOCUS_FIRST

public static final int FOCUS_FIRST
The first number in the range of ids used for focus events.
Field Value:
1004

FOCUS_GAINED

public static final int FOCUS_GAINED
This event indicates that the Component is now the focus owner.
Field Value:
1004
Usages and Demos :

View More Examples of FocusEvent.FOCUS_GAINED
   1:       switch(event.getID()) {
   2:         case FocusEvent.FOCUS_GAINED:
   3:           ((FocusStatusListener)pl).pluginGainedFocus(plugin); break;
   4:         case FocusEvent.FOCUS_LOST:
   5:           ((FocusStatusListener)pl).pluginLostFocus(plugin);

View Full Code Here
   1:     if (active && !focusActive)
   2:       super.processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_GAINED));
   3:     else if (!active && focusActive)
   4:       super.processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_LOST));

View Full Code Here
   1:     zoneTexte.selectAll();
   2:     processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_GAINED));
   3:   }
   4:   public void focusLost(FocusEvent e) {
   5:     processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_LOST));

View Full Code Here
   1: 
   2:         case FocusEvent.FOCUS_GAINED:
   3:             activate((Component) event.getSource());
   4:             if (inputMethod != null)
   5:                 inputMethod.dispatchEvent(event);

View Full Code Here
   1:                 
   2:             case FocusEvent.FOCUS_GAINED:
   3:                 keyboardFocusGained(event);
   4:                 break;
   5:                 

View Full Code Here

FOCUS_LAST

public static final int FOCUS_LAST
The last number in the range of ids used for focus events.
Field Value:
1005

FOCUS_LOST

public static final int FOCUS_LOST
This event indicates that the Component is no longer the focus owner.
Field Value:
1005
Usages and Demos :

View More Examples of FocusEvent.FOCUS_LOST
   1:           ((FocusStatusListener)pl).pluginGainedFocus(plugin); break;
   2:         case FocusEvent.FOCUS_LOST:
   3:           ((FocusStatusListener)pl).pluginLostFocus(plugin);
   4:       }
   5:     return null;

View Full Code Here
   1:             {
   2:                FocusEvent ev = new FocusEvent( components[i], FocusEvent.FOCUS_LOST );
   3:                dispatchEvent( ev );
   4:             }
   5:             ((ParameterControl)components[i]).updateParameter();

View Full Code Here
   1:   public void focusLost(FocusEvent e) {
   2:     processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_LOST));
   3:   }
   4:   public double toDouble() {
   5:     return ((Double)zoneTexte.getValue()).doubleValue();

View Full Code Here
   1:     else if (!active && focusActive)
   2:       super.processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_LOST));
   3: 
   4:     focusActive = active;
   5:   }

View Full Code Here
   1:   public void focusLost(FocusEvent e) {
   2:     processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_LOST));
   3:   }
   4:   public void setLongueurField(int k, int m, int cm) {
   5:     if ((cm >= 0) && (m >= 0) && (k >= 0)) {

View Full Code Here

Constructor Details

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
Usages and Demos :

View More Examples of FocusEvent(Component source,int id)
   1:             {
   2:                FocusEvent ev = new FocusEvent( components[i], FocusEvent.FOCUS_LOST );
   3:                dispatchEvent( ev );
   4:             }
   5:             ((ParameterControl)components[i]).updateParameter();

View Full Code Here
   1:     if (active && !focusActive)
   2:       super.processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_GAINED));
   3:     else if (!active && focusActive)
   4:         ...
   5:       super.processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_LOST));
   6: 
   7:     focusActive = active;
   8:   }

View Full Code Here
   1:     zoneTexte.selectAll();
   2:     processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_GAINED));
   3:   }
   4:         ...
   5:   public void focusLost(FocusEvent e) {
   6:     processFocusEvent(new FocusEvent(this, FocusEvent.FOCUS_LOST));
   7:   }
   8:   public void setLongueurField(int k, int m, int cm) {
   9:     if ((cm >= 0) && (m >= 0) && (k >= 0)) {

View Full Code Here
   1:          Component component = this.getFocusOwner();
   2:          FocusEvent ev = new FocusEvent( component, FocusEvent.FOCUS_LOST );
   3:          dispatchEvent( ev );
   4:       }
   5:       dispose();

View Full Code Here
   1:             m_focusListener.focusGained(
   2:                             new FocusEvent(m_pageWindow, FocusEvent.FOCUS_GAINED));
   3:         }
   4:         ...
   5:             m_focusListener.focusLost(
   6:                             new FocusEvent(m_pageWindow, FocusEvent.FOCUS_LOST));
   7:         }
   8:     }
   9:     

View Full Code Here

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
Usages and Demos :

View More Examples of FocusEvent(Component source,int id,boolean temporary)
   1:   {
   2:     eventQueue.postEvent (new FocusEvent(awtComponent, id, temporary));
   3:   }
   4: 
   5:   protected void postItemEvent (Object item, int stateChange)

View Full Code Here
   1:                   else
   2:                     eq.postEvent (new FocusEvent(windowFocusOwner, FocusEvent.FOCUS_GAINED, false));
   3:                 }
   4:             }
   5:         }

View Full Code Here
   1:             if (focusOwner != permanentFocusOwner)
   2:               q.postEvent (new FocusEvent(focusOwner, FocusEvent.FOCUS_LOST, true));
   3:             else
   4:         ...
   5:               q.postEvent (new FocusEvent(focusOwner, FocusEvent.FOCUS_LOST, false));
   6:           }
   7:         ...
   8:             EventQueue q = Toolkit.getDefaultToolkit ().getSystemEventQueue ();
   9:             q.postEvent (new FocusEvent(permanentFocusOwner, FocusEvent.FOCUS_LOST, false));
  10:           }

View Full Code Here
   1:                         else
   2:                           eq.postEvent (new FocusEvent(this, FocusEvent.FOCUS_GAINED, false));
   3:                       }
   4:         ...
   5:                         else
   6:                           eq.postEvent (new FocusEvent(this, FocusEvent.FOCUS_GAINED, temporary));
   7:                       }
   8:         ...
   9:             else
  10:               pendingFocusRequest = new FocusEvent(this, FocusEvent.FOCUS_GAINED, temporary);
  11:           }

View Full Code Here

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

Method Details

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
Usages and Demos :

View More Examples of getOppositeComponent()
   1: import java.awt.EventQueue;
   2: import java.awt.event.FocusEvent;
   3: import java.util.Map;
   4:         ...
   5: 
   6:     protected void processFocusEvent(FocusEvent e)
   7:     {
   8:         ...
   9:         boolean ok = e.getID() == FocusEvent.FOCUS_LOST && cellEditor != null;
  10:         ...
  11:         Component c = e.getOppositeComponent();

View Full Code Here

isTemporary

public boolean isTemporary()
Identifies the focus change event as temporary or permanent.
Returns:
true if the focus change is temporary; false otherwise
Usages and Demos :

View More Examples of isTemporary()
   1:       addFocusListener(new FocusListener()
   2:          {  public void focusGained(FocusEvent event)
   3:         ...
   4:             {  if (!event.isTemporary())
   5:                {  lastValue = getValue();
   6:         ...
   7:             }
   8:             public void focusLost(FocusEvent event)
   9:         ...
  10:             {  if (!event.isTemporary())

View Full Code Here

paramString

public String paramString()
Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.
Overrides:
paramString in interface ComponentEvent
Returns:
a string identifying the event and its attributes