AWT de Java | WindowStateListener

WindowStateListener es parte del paquete java.awt.event. Es una interfaz para manejar eventos de estado de ventana. Esta interfaz devuelve un evento cuando el marco o la ventana asociada a él se iconifica o maximiza.
Función abstracta de la clase
 

  • windowStateChanged(WindowEvent e) : invocado cuando se cambia un estado de la ventana. 
     

Los siguientes programas ilustran el WindowStateListener:
 

  1. Programa Java para manejar eventos de ventana 
     

Java

// Java Program to handle window events
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class listener1 extends JFrame implements WindowStateListener {
    listener1()
    {
        super("main frame");
        setSize(500, 500);
 
        // create a sub frame
        JFrame f = new JFrame("sub");
 
        // add window state listener
        f.addWindowStateListener(this);
 
        // set size of window
        f.setSize(200, 200);
 
        show();
        f.show();
    }
 
    // if state of window is changed
    public void windowStateChanged(WindowEvent e)
    {
        JOptionPane.showMessageDialog(this, "window state changed");
    }
    // main class
    public static void main(String args[])
    {
        listener1 l = new listener1();
    }
}
  1. Producción: 
     

  1. Programa Java para manejar eventos de ventana e identificarlos
     

Java

// Java Program to handle window events and identify them
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class listener extends JFrame implements WindowStateListener {
    // label
    JLabel l;
    JLabel l1;
 
    listener()
    {
        super("main frame");
        setSize(500, 500);
 
        // create a sub frame
        JFrame f = new JFrame("sub");
 
        // add window state listener
        f.addWindowStateListener(this);
 
        // set size of window
        f.setSize(200, 200);
 
        // create a label
        JLabel lo = new JLabel("old state : ");
        JLabel lo1 = new JLabel("new state : ");
 
        l = new JLabel("");
        l1 = new JLabel("");
 
        // create a panel
        JPanel p = new JPanel();
 
        p.add(lo);
        p.add(l);
        p.add(lo1);
        p.add(l1);
        add(p);
 
        show();
        f.show();
    }
 
    // if state of window is changed
    public void windowStateChanged(WindowEvent e)
    {
        int s = e.getOldState(), s1 = e.getNewState();
 
        // for old state
        if (s == Frame.ICONIFIED)
            l.setText("window iconified");
 
        if (s == Frame.MAXIMIZED_BOTH)
            l.setText("window maximized horizontally and vertically");
 
        if (s == Frame.MAXIMIZED_HORIZ)
            l.setText("window maximized horizontally");
 
        if (s == Frame.MAXIMIZED_VERT)
            l.setText("window maximized vertically");
 
        if (s == Frame.NORMAL)
            l.setText("window normal");
 
        // for new state
 
        if (s1 == Frame.ICONIFIED)
            l1.setText("window iconified");
 
        if (s1 == Frame.MAXIMIZED_BOTH)
            l1.setText("window maximized horizontally and vertically");
 
        if (s1 == Frame.MAXIMIZED_HORIZ)
            l1.setText("window maximized horizontally");
 
        if (s1 == Frame.MAXIMIZED_VERT)
            l1.setText("window maximized vertically");
 
        if (s1 == Frame.NORMAL)
            l1.setText("window normal");
    }
 
    // main class
    public static void main(String args[])
    {
        listener l = new listener();
    }
}
  1. Producción: 
     

  1.  

  1.  

  1.  

Nota: el siguiente programa no se ejecutará en un compilador en línea. Utilice una
referencia IDE sin conexión : https://docs.oracle.com/javase/7/docs/api/java/awt/event/WindowStateListener.html
 

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *