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:
- 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(); } }
- Producción:
- 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(); } }
- Producción:
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