Eventos de foco en marco windowFocusListener
Una interface gráfica puede estar compuesta por varias
ventanas, en este caso puede suceder que una de las ventanas pierda o gane el
foco y se tenga que desencadenar una acción cuando esto suceda. Para esto
tenemos windowFocusListener compuesta por dos métodos.
·
windowLostFocus(WindowEvent
e) para cuando perdemos el foco de la venta.
·
WindowGainedFocus(WindowEvent
e) para cando ganamos el foca en la venta.
Ejm. En el siguiente ejemplo cargaremos dos macos cuando
seleccionemos uno de ellos saldrá un mensaje en el titulo, y cuando
seleccionemos el otro desaparece el mensaje del primero y aparece en el
segundo.
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import javax.swing.JFrame;
public class Practica28_
extends JFrame implements
WindowFocusListener{
public static void main(String[] args) {
Practica28_ dd = new Practica28_();
dd.inicar();
}
public void
inicar() {
marco1 = new
Practica28_ (); marco2= new Practica28_();
marco1.setVisible(true); marco2.setVisible(true);
marco1.setBounds(100,200,300,300); marco2.setBounds(400,200,350,350);
marco1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
marco2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//el oyente esta en
nuestra clase por eso penemos this
ventana
marco1.addWindowFocusListener(this); marco2.addWindowFocusListener(this);
}
public void
windowGainedFocus(WindowEvent e) {
if(e.getSource()==marco1) {
marco1.setTitle("TINES EL FOCO!!!!!!!!!");
marco2.setTitle("");
}if (e.getSource()==marco2) {
marco1.setTitle("");
marco2.setTitle("TINES EL FOCO!!!!!!!!!");
}
}
public void
windowLostFocus(WindowEvent e) {}
Practica28_ marco1;
Practica28_ marco2;
}
No hay comentarios:
Publicar un comentario