Seguidores

MIS WEBS



miércoles, 10 de enero de 2018

CREAR UN CONTROLADOR DE ESTADOS DE UNA VENTANA java




Existe una interface que actúa cuando existe una modificación del estado de ventana sea cual sea (aumentar, minimizar, maximizar, cerrar…). WindowStateListener y recibe por parámetro el método WindowStateChanged(Windowevent e). Este método actuará cuando exista una modificación del estado de nuestra ventana.


Windowevent tiene dos métodos:
*      getNewState(): Obtener nuevo estado.

*      getOldState():Obtener anterior estado.



En el siguiente ejercicio vamos a hacer dos marcos, le incluiremos dos botones y un texto, cuando realicemos una acción de venta (cerrar, abrir, maximizar…) nos saltara un mensaje avisando de que hemos realizado una modificación en nuestra ventana.


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class practica_frame6 {
      public static void main (String[] arg) {
            Marco_100 Marco_1 = new Marco_100();
            Marco_100 Marco_2 = new Marco_100();
            Marco_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Marco_2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            Marco_1.setVisible(true);
            Marco_2.setVisible(true);
            Marco_1.setBounds(100,300,400,300);
            Marco_2.setBounds(500,300,400,300);
      }
}
class Marco_100 extends JFrame{
      public Marco_100() {
      ModificaEstado cambio = new ModificaEstado();
      Lamina10 l1 = new Lamina10();
      add(l1);
      addWindowStateListener(cambio);
      setVisible(true);
      }
}
class Lamina10 extends JPanel{
      public void paintComponent(Graphics g) {
            super.paintComponent(g);
            JButton cerrar = new JButton("CERRAR");
            JButton open = new JButton("open");
            Font Arial = new Font("Arial",Font.BOLD,20);
            add(cerrar); add(open);
           
            setBackground(Color.blue);
            g.setFont(Arial);
            g.setColor(Color.WHITE);
            g.drawString("texto 1", 100, 100);      
      }
}
__________________________________________________________________
///////cuando hagamos algo con nuestra venta ejecutara esto//////
__________________________________________________________________
class ModificaEstado implements WindowStateListener {     
      public void windowStateChanged(WindowEvent e) {
            JOptionPane.showMessageDialog(null,"VENTANA MODIFICADA");
      }
}

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital