Seguidores

MIS WEBS



miércoles, 10 de enero de 2018

Controlador de estados de las ventanas java





En el siguiente ejercicio crearemos dos marcos con dos botones, y utilizaremos el método getNewState() de la interface Windowevent  para que nos regrese el estado en que se encuentra nuestra ventana, este estado nos lo regresa como un int que introduciremos en un array para que nos regrese un output de texto  en el que nos indicará el estado de la ventana. 

En la siguiente tabla os dejo los diferentes estados:




ejercicio:


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();
      Lamina1000 l1 = new Lamina1000();
      add(l1);
      addWindowStateListener(cambio);
      setVisible(true);
     
      }
     
}

class Lamina1000 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);
           
      }
     
}

class ModificaEstado implements WindowStateListener {
     
      public void windowStateChanged(WindowEvent e) {
            int tipoVentana = e.getNewState();
            String [] estado = {
                  "Ventana en estado      DEFAULT_CURSOR",
                  "Ventana en estado      espera",
                  "Ventana en estado      Maximiza horizontal",
                  "Ventana en estado      Minimiza",
                  "Ventana en estado      SW_REDIMENSIONAR_CURSOR"                        "Ventana en estado      SE_REDIMENSIONAR_CURSOR",
                  "Ventana en estado      S_REDIMENSIONAR_CURSOR",
                  "Ventana en estado      NORMAL",
                  "Ventana en estado      N_REDIMENSIONAR_CURSOR",
                  "Ventana en estado      W_REDIMENSIONAR_CURSOR",
                  "Ventana en estado      HAND_CURSOR",
                  "Ventana en estado      MOVE_CURSOR"};
                       
            JOptionPane.showMessageDialog(null,estado[tipoVentana]);
     
      }
     

}

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital