martes, 23 de enero de 2018

Interface WindowStateListener

La clase que está interesada en procesar un evento de estado de ventana implementa esta interfaz (y todos los métodos que contiene) o amplía la clase abstracta WindowAdapter (anulando solo los métodos de interés).

Nos permite saber el estado de la ventana actual implementado un único metodo y tambien controlar el tamaño del JFrame

windowStateChanged(WindowEvent e) la cual nos permite saber que ventana
ha cambiado 


e.getNewState(); Para WINDOW_STATE_CHANGED eventos devuelve el nuevo 
estado de la ventana.
if (we.getNewState() == 6)

otro ejemplo
if (we.getNewState() == 0) {
                texto = "esta en el nivel 0 pantalla grande";

            }

PARA MAYOR INFORMACION VISITAR LA PAGINA DE LA API DE JAVA


EJEMPLO

package graficos;

import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Evento_Ventana {

    public static void main(String[] args) {

        MarcoEstado estado = new MarcoEstado();
        estado.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

class MarcoEstado extends JFrame {

    String texto;

    public MarcoEstado() {
        setTitle("Nueva ventana");
        setVisible(true);
        setBounds(300, 300, 500, 350);
       
        addWindowStateListener(new cambiarEstado());
    }

    class cambiarEstado implements WindowStateListener {

        @Override
        public void windowStateChanged(WindowEvent we) {

            System.out.println("La ventana ha cambiado de estado");
            if (we.getNewState() == 6) {//se usa fram.maximize_both o comparando con el numero
                texto = "Esta en el nivel 6";
            } else if (we.getNewState() == 0) {
                texto = "esta en el nivel 0 pantalla grande";
            }
            System.out.println(texto);
        }

     
    }

}

Share:

0 comentarios:

Publicar un comentario

BTemplates.com

Buscar este blog

Archivo del Blog

Con tecnología de Blogger.