FrameConfig.java

Categorías: CategoryJava | CategoryProgramacion

   1 package savetheearthsk;
   2 
   3 import java.awt.BorderLayout;
   4 import java.awt.Checkbox;
   5 import java.awt.GridLayout;
   6 import java.awt.event.ActionEvent;
   7 import java.awt.event.ActionListener;
   8 import java.io.BufferedReader;
   9 import java.io.BufferedWriter;
  10 import java.io.FileInputStream;
  11 import java.io.FileNotFoundException;
  12 import java.io.FileOutputStream;
  13 import java.io.IOException;
  14 import java.io.InputStreamReader;
  15 import java.io.ObjectInputStream;
  16 import java.io.ObjectOutputStream;
  17 import java.io.Writer;
  18 import java.util.logging.Level;
  19 import java.util.logging.Logger;
  20 import javax.swing.JButton;
  21 import javax.swing.JFrame;
  22 import javax.swing.JLabel;
  23 import javax.swing.JPanel;
  24 import javax.swing.JTextField;
  25 
  26 /**
  27  * Clase FrameCofig guarda el diseño de un Jframe que se utiliza para asignar valores a la clse configuracion
  28  * @author Luisa Fernanda Rueda Herrera
  29  * @author George Sebastian Parra Macias
  30  */
  31 public class FrameConfig extends JFrame {
  32 
  33     private Configuracion configuracion;
  34     private JTextField dirIpField = new JTextField();
  35     private JTextField velBala = new JTextField();
  36     private JTextField VelEnem = new JTextField();
  37     private Checkbox teclado = new Checkbox();
  38     private Checkbox mouse = new Checkbox();
  39     private JLabel punGanar = new JLabel("5000");
  40     //private JTextField valPremio = new JTextField();
  41     private Checkbox sonido = new Checkbox();
  42     private JButton limpiar = new JButton("Limpiar");
  43     private JButton grabar = new JButton("Grabar");
  44     private JButton cancelar = new JButton("Cancelar");
  45 
  46     /**
  47      * Constructor de FrameConfig que resibe la configuracion para asignar valores
  48      * @param configuracion
  49      */
  50     public FrameConfig(final Configuracion configuracion) {
  51 
  52         /**
  53          * Se asigna el diseño del  frame
  54          */
  55         this.configuracion = configuracion;
  56         dirIpField.setText(configuracion.direccionIP);
  57         velBala.setText(configuracion.velocidadBala + "");
  58         VelEnem.setText(configuracion.lentitudEnemigo + "");
  59         teclado.setState(configuracion.teclado);
  60         mouse.setState(configuracion.mouse);
  61         sonido.setState(configuracion.sonido);
  62 
  63         setLayout(new BorderLayout());
  64         add("North", new JLabel("Configuración"));
  65         JPanel panelCentral = new JPanel();
  66         panelCentral.setLayout(new GridLayout(10, 2));
  67         panelCentral.add(new JLabel("Direccion IP"));
  68         panelCentral.add(dirIpField);
  69         panelCentral.add(new JLabel("Velocidad de la Bala"));
  70         panelCentral.add(velBala);
  71         panelCentral.add(new JLabel("Velocidad del Enemigo"));
  72         panelCentral.add(VelEnem);
  73         panelCentral.add(new JLabel("Bloquear Teclado"));
  74         panelCentral.add(teclado);
  75         panelCentral.add(new JLabel("Bloquear Mouse"));
  76         panelCentral.add(mouse);
  77         panelCentral.add(new JLabel("Puntaje Para Ganar"));
  78         panelCentral.add(punGanar);
  79         //   panelCentral.add(new JLabel("Valor del Premio"));
  80         // panelCentral.add(valPremio);
  81         panelCentral.add(new JLabel("sonido"));
  82         panelCentral.add(sonido);
  83         add("Center", panelCentral);
  84         JPanel panelSur = new JPanel();
  85         panelSur.setLayout(new GridLayout(1, 3));
  86         panelSur.add(grabar);
  87         panelSur.add(limpiar);
  88         panelSur.add(cancelar);
  89         add("South", panelSur);
  90         /**
  91          * Se adiciona un actionListener a el boton limpiar que limpia  el formulario
  92          */
  93         limpiar.addActionListener(new ActionListener() {
  94 
  95             /**
  96              * Metodo que se ejecuta cuando se acciona el boton
  97              */
  98             public void actionPerformed(ActionEvent e) {
  99                 dirIpField.setText("");
 100                 velBala.setText("");
 101                 VelEnem.setText("");
 102                 punGanar.setText("");
 103                 //  valPremio.setText("");
 104                 sonido.setState(false);
 105                 teclado.setState(false);
 106                 mouse.setState(false);
 107 
 108             }
 109         });
 110         /**
 111          * Se adiciona un actionListener a el boton Cancelar para cancelar los cambios que se hacen al formulario
 112          */
 113         cancelar.addActionListener(new ActionListener() {
 114 
 115             /**
 116              * Metodo que se ejecuta cuando se acciona el boton
 117              */
 118             public void actionPerformed(ActionEvent e) {
 119                 setVisible(false);
 120             }
 121         });
 122          /**
 123          * Se adiciona un actionListener a el boton grabar para guardar los cambios que se hacen al formulario
 124          */
 125         grabar.addActionListener(new ActionListener() {
 126 
 127             /**
 128              * Metodo que se ejecuta cuando se acciona el boton
 129              */
 130             public void actionPerformed(ActionEvent e) {
 131                 configuracion.direccionIP = dirIpField.getText();
 132                 configuracion.velocidadBala = Integer.parseInt(velBala.getText());
 133                 //   configuracion.valorPremio = Integer.parseInt(valPremio.getText());
 134                 configuracion.teclado = teclado.getState();
 135                 configuracion.mouse = mouse.getState();
 136                 configuracion.sonido = sonido.getState();
 137                 configuracion.lentitudEnemigo = Integer.parseInt(VelEnem.getText());
 138                 configuracion.puntajePremios = Integer.parseInt(punGanar.getText());
 139                 setVisible(false);
 140 
 141                 /**
 142                  * excepcion que gurda o crea un archivo que almacena la configuaracion
 143                  */
 144                 try {
 145                     ObjectOutputStream configura = new ObjectOutputStream(new FileOutputStream("configuracion.dat"));
 146                     configura.writeObject(configuracion);
 147                     configura.close();
 148                 } catch (FileNotFoundException f) {
 149                     System.err.println("no existe el archivo");
 150                     Logger.getLogger(FrameConfig.class.getName()).log(Level.SEVERE, null, f);
 151                 } catch (IOException ex) {
 152                     Logger.getLogger(FrameConfig.class.getName()).log(Level.SEVERE, null, ex);
 153                 }
 154 
 155 
 156 
 157 
 158 
 159             }
 160         });
 161 
 162 
 163 
 164 
 165 
 166     }
 167 }

Java/Programas/SaveTheEarthII/FrameConfig.java (last edited 2010-10-28 12:20:11 by GeorgeParra)