KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > piratepete > dbpirate > ui > Login


1 package com.piratepete.dbpirate.ui;
2
3 import java.util.*;
4 import javax.swing.*;
5 import java.awt.*;
6 import com.piratepete.dbpirate.ApplicationManager;
7 import com.piratepete.util.db.DBConnectionType;
8 import com.piratepete.util.db.DBConnection;
9 import java.awt.event.*;
10 import java.util.Vector JavaDoc;
11 import javax.swing.table.*;
12
13 /**
14  * Login Class
15  * Copyright (C) 2003 David L. Whitehurst<p>
16  *
17  * This program is free software; you can redistribute it and/or
18  * modify it under the terms of the GNU General Public License
19  * as published by the Free Software Foundation; either version 2
20  * of the License, or (at your option) any later version.<p>
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  * GNU General Public License for more details.<p>
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<p>
30  *
31  * <a HREF="http://www.piratepetesoftware.com">piratepetesoftware.com</a><br>
32  * <a HREF="mailto:dlwhitehurst@comcast.net">dlwhitehurst@comcast.net</a>
33  *
34  * @version 1.0a
35  */

36 public class Login extends javax.swing.JDialog JavaDoc {
37
38     String JavaDoc user;
39     String JavaDoc password;
40     String JavaDoc hostname;
41     String JavaDoc sid;
42     String JavaDoc port;
43     DBConnectionType dbType;
44     private JTable table;
45     private Vector JavaDoc columnHeads;
46     private Vector JavaDoc rows;
47     
48     public Login(Frame parent, String JavaDoc title, boolean modal) {
49         super(parent, title, modal);
50
51         initComponents();
52
53         columnHeads = new Vector JavaDoc();
54         rows = new Vector JavaDoc();
55         
56         // get column heads
57
columnHeads.addElement("User");
58         //columnHeads.addElement("Password");
59
columnHeads.addElement("Hostname");
60         columnHeads.addElement("Sid");
61         columnHeads.addElement("Port");
62         columnHeads.addElement("DatabaseType");
63   
64         // get array of DBConnection Objects
65
ArrayList logins = ApplicationManager.getRegistry().getDatabaseLogins();
66        
67        // get count
68
int count = logins.size();
69        
70        // Create vector argument
71
Vector JavaDoc data = new Vector JavaDoc();
72        
73        // load data from Registry
74
for (int i=0; i<count; i++) {
75            DBConnection login = (DBConnection) logins.get(i);
76            Vector JavaDoc row = new Vector JavaDoc();
77            
78             row.add(0, login.getUserName());
79             row.add(1, login.getHostname());
80             row.add(2, login.getSid());
81             row.add(3, login.getPort());
82             row.add(4, login.getName());
83        
84             data.add(row);
85        }
86        
87        // create table
88
table = new JTable(data, columnHeads);
89         jScrollPane1.add(table);
90         table.setPreferredScrollableViewportSize(new java.awt.Dimension JavaDoc(5000,500));
91         jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
92         table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
93         jScrollPane1.setViewportView(table);
94
95         table.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
96             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
97                 tableMouseClicked(evt);
98             }
99         });
100
101         setSize(new Dimension(820,390)); // 290
102
// setSize(new Dimension(380,290));
103
setLocationRelativeTo(parent);
104         setVisible(true);
105         
106     }
107     
108     public String JavaDoc getUser(){
109         return user;
110     }
111     
112     public String JavaDoc getPassword(){
113         return password;
114     }
115
116     public String JavaDoc getHostname(){
117         return hostname;
118     }
119
120     public String JavaDoc getSid(){
121         return sid;
122     }
123
124     public String JavaDoc getPort(){
125         return port;
126     }
127
128     public DBConnectionType getDBType() {
129         return dbType;
130    }
131     
132     public void killDialog(){
133         dispose();
134     }
135     
136     
137     /**
138      * called to initialize all the dialog's components
139      *
140      *
141      */

142     private void initComponents() {
143         jTextField1 = new javax.swing.JTextField JavaDoc();
144         jTextField2 = new javax.swing.JTextField JavaDoc();
145         jTextField3 = new javax.swing.JTextField JavaDoc();
146         jTextField4 = new javax.swing.JTextField JavaDoc();
147         jTextField5 = new javax.swing.JTextField JavaDoc();
148         
149         jLabel6 = new javax.swing.JLabel JavaDoc();
150         jLabel7 = new javax.swing.JLabel JavaDoc();
151         jLabel8 = new javax.swing.JLabel JavaDoc();
152         
153         jButton1 = new javax.swing.JButton JavaDoc();
154         jLabel1 = new javax.swing.JLabel JavaDoc();
155         jLabel2 = new javax.swing.JLabel JavaDoc();
156         jLabel3 = new javax.swing.JLabel JavaDoc();
157         jLabel4 = new javax.swing.JLabel JavaDoc();
158         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
159         jCheckBox1 = new javax.swing.JCheckBox JavaDoc();
160         jButton2 = new javax.swing.JButton JavaDoc();
161
162         // get array of DBConnectionType Objects
163
ArrayList types = ApplicationManager.getRegistry().getDatabaseTypes();
164  
165         getContentPane().setLayout(null);
166
167         setTitle("Database Login");
168         setResizable(false);
169         addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
170             public void windowClosing(java.awt.event.WindowEvent JavaDoc evt) {
171                 closeDialog(evt);
172             }
173         });
174
175
176         jTextField1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
177         jTextField1.setText("local");
178         getContentPane().add(jTextField1);
179         jTextField1.setBounds(530, 140, 270, 20);
180
181         jTextField2.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
182         jTextField2.setText("local");
183         getContentPane().add(jTextField2);
184         jTextField2.setBounds(530, 160, 270, 20);
185
186         jTextField3.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
187         jTextField3.setText("localhost");
188         getContentPane().add(jTextField3);
189         jTextField3.setBounds(530, 180, 270, 20);
190
191         jTextField4.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
192         jTextField4.setText("ORCL");
193         getContentPane().add(jTextField4);
194         jTextField4.setBounds(530, 200, 270, 20);
195
196         jTextField5.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
197         jTextField5.setText("1521");
198         getContentPane().add(jTextField5);
199         jTextField5.setBounds(530, 220, 270, 20);
200
201         jButton1.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
202         jButton1.setIcon(new javax.swing.ImageIcon JavaDoc(""));
203         jButton1.setText("Login");
204         jButton1.setToolTipText("Connect to Database");
205         jButton1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
206             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
207                 jButton1ActionPerformed(evt);
208             }
209         });
210
211         getContentPane().add(jButton1);
212         jButton1.setBounds(630, 260, 80, 26); // 70 width 730 x placement
213

214         jLabel7.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
215         jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
216         jLabel7.setText("Database");
217         getContentPane().add(jLabel7);
218         jLabel7.setBounds(450, 120, 70, 16);
219
220         jComboBox1 = new JComboBox(types.toArray());
221         getContentPane().add(jComboBox1);
222         jComboBox1.setBounds(530,120, 270,20);
223         
224         jLabel1.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
225         jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
226         jLabel1.setText("User");
227         getContentPane().add(jLabel1);
228         jLabel1.setBounds(450, 140, 70, 16);
229
230         jLabel2.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
231         jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
232         jLabel2.setText("Password");
233         getContentPane().add(jLabel2);
234         jLabel2.setBounds(450, 160, 70, 16);
235
236         jLabel3.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
237         jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
238         jLabel3.setText("Hostname");
239         getContentPane().add(jLabel3);
240         jLabel3.setBounds(450, 180, 70, 16);
241
242         jLabel4.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
243         jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
244         jLabel4.setText("Sid");
245         getContentPane().add(jLabel4);
246         jLabel4.setBounds(450, 200, 70, 16);
247
248         jLabel8.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
249         jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
250         jLabel8.setText("Port");
251         getContentPane().add(jLabel8);
252         jLabel8.setBounds(450, 220, 70, 16);
253
254         jLabel6.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/com/piratepete/dbpirate/ui/images/banner.gif")));
255         getContentPane().add(jLabel6);
256         jLabel6.setBounds(440, 10, 360, 100);
257
258         jScrollPane1.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
259             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
260                 jScrollPane1MouseClicked(evt);
261             }
262         });
263
264         getContentPane().add(jScrollPane1);
265         jScrollPane1.setBounds(10, 13, 420, 200);
266
267         jCheckBox1.setText("Stop Save Rotation");
268         getContentPane().add(jCheckBox1);
269         jCheckBox1.setBounds(10, 220, 150, 24);
270
271         //jButton2.setText("Clear");
272
//getContentPane().add(jButton2);
273
//jButton2.setBounds(10, 220, 84, 26); // 84 was 64
274

275         pack();
276     }
277
278     private void jScrollPane1MouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
279     }
280
281     /**
282      * called when Login button selected
283      *
284      * @param evt
285      */

286     private void jButton1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
287         // Login
288
setParams(jTextField1.getText(),
289             jTextField4.getText(),
290             jTextField2.getText(),
291             jTextField3.getText(),
292             jTextField5.getText(),
293            (DBConnectionType) jComboBox1.getSelectedItem());
294
295         setVisible(false);
296         
297     }
298
299     private void jButton2ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
300         // Cancel
301
setVisible(false);
302         
303     }
304     
305     /**
306      * called to set private dialog parameters
307      *
308      */

309     private void setParams(String JavaDoc u, String JavaDoc p, String JavaDoc h, String JavaDoc s, String JavaDoc prt, DBConnectionType d) {
310         user = u;
311         password = p;
312         hostname = h;
313         sid = s;
314         port = prt;
315         dbType = d;
316     }
317     
318     /**
319      * called to Close dialog
320      *
321      * Closes the dialog
322      */

323     private void closeDialog(java.awt.event.WindowEvent JavaDoc evt) {
324         setVisible(false);
325         dispose();
326     }
327
328     /**
329      * method to provide action on DBConnection click in JTable
330      *
331      */

332     private void tableMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
333         // check for selected table value
334

335         // get selected row
336
int rownum = table.getSelectedRow();
337         
338         Vector JavaDoc temp = (Vector JavaDoc) rows.get(rownum);
339             
340         jTextField1.setText(temp.get(0).toString());
341         jTextField4.setText(temp.get(1).toString());
342         jTextField2.setText(temp.get(2).toString());
343         jTextField3.setText(temp.get(3).toString());
344             
345     }
346     
347     
348     // Variables declaration
349
private javax.swing.JButton JavaDoc jButton2;
350     private javax.swing.JButton JavaDoc jButton1;
351     private javax.swing.JScrollPane JavaDoc jScrollPane1;
352     private javax.swing.JCheckBox JavaDoc jCheckBox1;
353     private javax.swing.JTextField JavaDoc jTextField5;
354
355     private javax.swing.JTextField JavaDoc jTextField4;
356     private javax.swing.JTextField JavaDoc jTextField3;
357     private javax.swing.JTextField JavaDoc jTextField2;
358     private javax.swing.JTextField JavaDoc jTextField1;
359     private javax.swing.JLabel JavaDoc jLabel8;
360     private javax.swing.JLabel JavaDoc jLabel7;
361
362     private javax.swing.JLabel JavaDoc jLabel6;
363     private javax.swing.JLabel JavaDoc jLabel5;
364     private javax.swing.JLabel JavaDoc jLabel4;
365     private javax.swing.JLabel JavaDoc jLabel3;
366     private javax.swing.JLabel JavaDoc jLabel2;
367     private javax.swing.JLabel JavaDoc jLabel1;
368     private javax.swing.JComboBox JavaDoc jComboBox1;
369     // End of variables declaration
370

371 }
372
Popular Tags