Source code: org/incenter/ngbclient/frmLogin.java
1
2 package org.incenter.ngbclient;
3 import org.incenter.ngbclient.*;
4 import org.incenter.gb.*;
5 import org.incenter.tools.*;
6 import java.awt.*;
7 import java.awt.event.*;
8 import java.net.*;
9 import java.io.*;
10 import java.lang.*;
11 import java.util.*;
12
13
14 /**
15 *
16 * @author
17 * @version
18 */
19 public class frmLogin extends java.awt.Frame implements ActionListener, ItemListener
20 {
21
22 ResourceFile res;
23 Hashtable games;
24 frmClient parent;
25
26 /** Initializes the Form */
27 public frmLogin(frmClient p, ResourceFile r) {
28 try {
29 res = r;
30 parent = p;
31 initComponents ();
32 myInit();
33 pack ();
34 show();
35 } catch(Exception e) {
36 parent.addMessage("frmLogin(starting)::" + e);
37 }
38 }
39
40 private void myInit() {
41 setGames();
42 btnDelete = button3;
43 btnAdd.addActionListener(this);
44 btnEdit.setVisible(false);
45 btnDelete.addActionListener(this);
46 btnSave.addActionListener(this);
47 btnQuit.addActionListener(this);
48
49 utils.setColors(this, Color.white, Color.black);
50
51 txtName.setBackground(Color.black);
52 txtName.setForeground(Color.white);
53 txtHost.setBackground(Color.black);
54 txtHost.setForeground(Color.white);
55 txtPort.setBackground(Color.black);
56 txtPort.setForeground(Color.white);
57 txtNumber.setBackground(Color.black);
58 txtNumber.setForeground(Color.white);
59 txtRacepass.setBackground(Color.black);
60 txtRacepass.setForeground(Color.white);
61 txtGovpass.setBackground(Color.black);
62 txtGovpass.setForeground(Color.white);
63 lstGames.setBackground(Color.black);
64 lstGames.setForeground(Color.white);
65
66 }
67
68 public void setGames() {
69 try {
70 GameData gd;
71 Resource resource;
72
73 lstGames.removeAll();
74 res.reset();
75 games = new Hashtable();
76 while((resource = res.next()) != null) {
77 if(resource.getKey().startsWith("game")) {
78 gd = (GameData)resource.getResource();
79 lstGames.addItem(gd.getGame());
80 games.put(gd.getGame(), gd);
81 }
82 }
83 lstGames.addItemListener(this);
84 lstGames.select(0);
85 String name = lstGames.getSelectedItem();
86 fillForm((GameData)games.get(name));
87 } catch(Exception e) {
88 parent.addMessage("frmLogin::" + e);
89 }
90 }
91
92 public void actionPerformed(ActionEvent evt) {
93 String cmd = evt.getActionCommand();
94 if(cmd.equals("Quit"))
95 dispose();
96 else if(cmd.equals("Save")) {
97 String name = lstGames.getSelectedItem();
98 GameData gd = (GameData)games.get(name);
99 res.removeGame(gd);
100 gd.setGame(txtName.getText());
101 gd.setHostName(txtHost.getText());
102 try {
103 gd.setPort(Integer.parseInt(txtPort.getText()));
104 } catch(Exception e) {
105 gd.setPort(2031);
106 }
107 int num = 0;
108 try {
109 num = Integer.parseInt(txtNumber.getText());
110 } catch(Exception e) {
111 num = 0;
112 }
113 gd.setRacePass(num + "_" + txtRacepass.getText());
114 gd.setGovPass(txtGovpass.getText());
115 res.addGame(gd);
116 parent.setGames();
117 }
118
119 }
120
121 public void itemStateChanged(ItemEvent evt ) {
122 String name = lstGames.getSelectedItem();
123 fillForm((GameData)games.get(name));
124 }
125
126 private void fillForm(GameData gd) {
127 txtName.setText(gd.getGame());
128 txtHost.setText(gd.getHostName());
129 txtPort.setText("" + gd.getPort());
130 txtNumber.setText(getNumber(gd.getRacePass()));
131 txtRacepass.setText(getRacepass(gd.getRacePass()));
132 txtGovpass.setText(gd.getGovPass());
133 }
134
135 private String getNumber(String pass) {
136 StringTokenizer tok = new StringTokenizer(pass, "_");
137 if(tok.countTokens() != 2)
138 return "-1";
139 return tok.nextToken();
140 }
141
142 private String getRacepass(String pass) {
143 StringTokenizer tok = new StringTokenizer(pass, "_");
144 if(tok.countTokens() != 2)
145 return "UnKnown";
146 tok.nextToken();
147 return tok.nextToken();
148 }
149
150 /** This method is called from within the constructor to
151 * initialize the form.
152 * WARNING: Do NOT modify this code. The content of this method is
153 * always regenerated by the FormEditor.
154 */
155 private void initComponents () {//GEN-BEGIN:initComponents
156 setForeground (java.awt.Color.white);
157 setTitle ("Game Editor");
158 setBackground (java.awt.Color.black);
159 setLayout (new java.awt.BorderLayout ());
160
161 label1 = new java.awt.Label ();
162 label1.setText ("Add, Edit or Delete Games Here");
163 label1.setAlignment (java.awt.Label.CENTER);
164 add (label1, "North");
165
166 panel1 = new java.awt.Panel ();
167 panel1.setLayout (new java.awt.GridLayout (6, 1));
168
169 btnAdd = new java.awt.Button ();
170 btnAdd.setLabel ("Add");
171 panel1.add (btnAdd);
172
173 btnEdit = new java.awt.Button ();
174 btnEdit.setLabel ("Edit");
175 panel1.add (btnEdit);
176
177 button3 = new java.awt.Button ();
178 button3.setLabel ("Delete");
179 panel1.add (button3);
180
181 label2 = new java.awt.Label ();
182 panel1.add (label2);
183
184 label3 = new java.awt.Label ();
185 panel1.add (label3);
186
187 label4 = new java.awt.Label ();
188 panel1.add (label4);
189
190 add (panel1, "West");
191
192 panel2 = new java.awt.Panel ();
193 panel2.setLayout (new java.awt.BorderLayout ());
194
195 panel5 = new java.awt.Panel ();
196 panel5.setLayout (new java.awt.GridLayout (6, 1));
197
198 label5 = new java.awt.Label ();
199 label5.setText ("Game Name");
200 panel5.add (label5);
201
202 label6 = new java.awt.Label ();
203 label6.setText ("Host");
204 panel5.add (label6);
205
206 label7 = new java.awt.Label ();
207 label7.setText ("Port");
208 panel5.add (label7);
209
210 label8 = new java.awt.Label ();
211 label8.setText ("Number");
212 panel5.add (label8);
213
214 label9 = new java.awt.Label ();
215 label9.setText ("Race Pass");
216 panel5.add (label9);
217
218 label10 = new java.awt.Label ();
219 label10.setText ("Gov Pass");
220 panel5.add (label10);
221
222 panel2.add (panel5, "West");
223
224 panel6 = new java.awt.Panel ();
225 panel6.setLayout (new java.awt.GridLayout (6, 1));
226
227 txtName = new java.awt.TextField ();
228 txtName.setColumns (20);
229 panel6.add (txtName);
230
231 txtHost = new java.awt.TextField ();
232 txtHost.setColumns (20);
233 panel6.add (txtHost);
234
235 txtPort = new java.awt.TextField ();
236 txtPort.setColumns (20);
237 panel6.add (txtPort);
238
239 txtNumber = new java.awt.TextField ();
240 txtNumber.setColumns (20);
241 panel6.add (txtNumber);
242
243 txtRacepass = new java.awt.TextField ();
244 txtRacepass.setColumns (20);
245 panel6.add (txtRacepass);
246
247 txtGovpass = new java.awt.TextField ();
248 txtGovpass.setColumns (20);
249 panel6.add (txtGovpass);
250
251 panel2.add (panel6, "East");
252
253 add (panel2, "Center");
254
255 panel3 = new java.awt.Panel ();
256 panel3.setLayout (new java.awt.BorderLayout ());
257
258 lstGames = new java.awt.List ();
259 panel3.add (lstGames, "Center");
260
261 label11 = new java.awt.Label ();
262 label11.setText ("Games");
263 label11.setAlignment (java.awt.Label.CENTER);
264 panel3.add (label11, "North");
265
266 add (panel3, "East");
267
268 panel4 = new java.awt.Panel ();
269 panel4.setLayout (new java.awt.FlowLayout ());
270
271 btnSave = new java.awt.Button ();
272 btnSave.setLabel ("Save");
273 panel4.add (btnSave);
274
275 btnQuit = new java.awt.Button ();
276 btnQuit.setLabel ("Quit");
277 panel4.add (btnQuit);
278
279 add (panel4, "South");
280
281 }//GEN-END:initComponents
282
283 /** Exit the Application */
284 private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
285 System.exit (0);
286 }//GEN-LAST:event_exitForm
287
288
289 // Variables declaration - do not modify//GEN-BEGIN:variables
290 private java.awt.Label label1;
291 private java.awt.Panel panel1;
292 private java.awt.Button btnAdd;
293 private java.awt.Button btnEdit;
294 private java.awt.Button button3;
295 private java.awt.Label label2;
296 private java.awt.Label label3;
297 private java.awt.Label label4;
298 private java.awt.Panel panel2;
299 private java.awt.Panel panel3;
300 private java.awt.Panel panel4;
301 private java.awt.Button btnSave;
302 private java.awt.Button btnQuit;
303 private java.awt.Panel panel5;
304 private java.awt.Panel panel6;
305 private java.awt.Label label5;
306 private java.awt.Label label6;
307 private java.awt.Label label7;
308 private java.awt.Label label8;
309 private java.awt.Label label9;
310 private java.awt.Label label10;
311 private java.awt.TextField txtName;
312 private java.awt.TextField txtHost;
313 private java.awt.TextField txtPort;
314 private java.awt.TextField txtNumber;
315 private java.awt.TextField txtRacepass;
316 private java.awt.TextField txtGovpass;
317 private java.awt.List lstGames;
318 private java.awt.Label label11;
319 // End of variables declaration//GEN-END:variables
320 Button btnDelete = button3;
321
322
323 }