Clase FocusEvent
El Focus está relacionado con la posibilidad de sustituir al ratón por el teclado en ciertas operaciones. De los componentes que aparecen en pantalla, en un momento dado hay sólo uno que puede recibir las acciones del teclado y se dice que ese componente tiene el Focus.
El componente que tiene el Focus aparece diferente de los demás (resaltado de alguna forma). Se cambia el elemento que tiene el Focus con la tecla Tab o con el ratón. Se produce un FocusEvent cada vez que un componente gana o pierde el Focus.
El método requestFocus() de la clase Component permite hacer desde el programa que un componente obtenga el Focus.
El método boolean isTemporary(), de la clase FocusEvent, indica si la pérdida del Focus es o no temporal (puede ser temporal por haberse ocultado o dejar de estar activa la ventana, y recuperarse al cesar esta circunstancia).
El método Component getComponent() es heredado de ComponentEvent, y permite conocer el componente que ha ganado o perdido el Focus. Las constantes de esta clase FOCUS_GAINED y FOCUS_LOST permiten saber el tipo de evento FocusEvent que se ha producido.
Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra