Programación General > Java
Componente Que Perdio El Foco
(1/1)
alemag:
Saludos compañeros, quisiera saber si hay alguna manera de saber que componente (y si se puede, el nombre que tiene en la aplicacion, no solo el tipo) es el que perdio el foco en un momento determinado.
Gracias por adelantado
kike_monarcas:
Hola. Puedes implementar una clase con la interfaz FocusListener y en sus métodos procesar la información que requieres, como saber que componente gana o pierde el foco. Aqui un ejemplo bastante sencillo, espero que te sirva. Saludos!
--- Código: Text --- import java.awt.*;import java.awt.event.*;import javax.swing.*; public class PruebaFoco { public static void main( String args[] ) { new FormaPruebaFoco(); }} class FormaPruebaFoco extends JFrame{ public FormaPruebaFoco(){ super( "Aplicación con el Foco en Java" ); Container contenedor = getContentPane(); contenedor.setLayout( null ); campo1 = new JTextField( "Campo1" ); campo1.setName( "Campo1" ); campo2 = new JTextField( "Campo2" ); campo2.setName( "Campo2" ); contenedor.add( campo1 ); contenedor.add( campo2 ); campo1.setBounds( 50, 50 ,100, 28 ); campo2.setBounds( 50, 100, 100, 28 ); campo1.addFocusListener( new ProcesaFoco() ); campo2.addFocusListener( new ProcesaFoco() ); setSize( 200, 200 ); setVisible( true ); setResizable( false ); setLocationRelativeTo( null ); setDefaultCloseOperation( EXIT_ON_CLOSE ); } private JTextField campo1, campo2;} class ProcesaFoco implements FocusListener{ public void focusGained( FocusEvent evento ){ JTextField campo = (JTextField)evento.getComponent(); System.out.println( campo.getName() + " ganó el foco" ); } public void focusLost( FocusEvent evento ){ JTextField campo = (JTextField)evento.getComponent(); System.out.println( campo.getName() + " perdió el foco" ); }}
Navegación
Ir a la versión completa