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 }
