· 7 years ago · Jan 15, 2019, 01:48 PM
1package client;
2import java.awt.BorderLayout;
3
4
5
6public class Login extends JDialog {
7
8 /**
9 *
10 */
11 private static final long serialVersionUID = 1L;
12 private JPanel contentPane;
13 private JTextField usernameTextField;
14 private JPasswordField passwordTextField;
15
16 private JButton btnLogin;
17 private JButton btnRegister;
18
19 private String dbURL;
20 private String user;
21 private String pw;
22
23 private boolean loginSuccess;
24 private String[] query = null;
25 public boolean loginReq = false;
26
27 /**
28 * Launch the application.
29 */
30 public static void main(String[] args) {
31 EventQueue.invokeLater(new Runnable() {
32 public void run() {
33 try {
34
35 Login login = new Login(new JFrame(), "Login");
36 login.setVisible(true);
37 } catch (Exception e) {
38 e.printStackTrace();
39 }
40 }
41 });
42 }
43
44 /**
45 * Create the frame.
46 */
47 public Login(final JFrame parent, String title) {
48 super(parent, title, true);
49 if (parent != null) {
50 Dimension parentSize = parent.getSize();
51 Point p = parent.getLocation();
52 setLocation(p.x + parentSize.width / 4, p.y + parentSize.height / 4);
53 }
54 //set user & pw dbURl
55 setUser("s3392695");//TODO
56 setPw("sadi12");
57 setDbURL("jdbc:oracle:thin:@emu.cs.rmit.edu.au:1521:GENERAL");
58
59
60 setBounds(100, 100, 450, 300);
61 contentPane = new JPanel();
62 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
63
64 JLabel lblUsername = new JLabel("Username:");
65
66 JLabel lblPassword = new JLabel("Password:");
67
68 usernameTextField = new JTextField();
69 usernameTextField.setColumns(10);
70
71 passwordTextField = new JPasswordField();
72 passwordTextField.setColumns(10);
73
74 btnRegister = new JButton("Register");
75 btnRegister.addActionListener(new ActionListener() {
76
77 @Override
78 public void actionPerformed(ActionEvent arg0) {
79 Register register = new Register(parent, "Register");
80 query = register.getQuery();
81 dispose();
82 }
83 });
84
85 btnLogin = new JButton("Login");
86 btnLogin.addActionListener(new ActionListener() {
87
88 public void actionPerformed(ActionEvent ae) {
89 //fill query
90 query = new String []{"Login", getUsernameTextField(), getPasswordTextField()};
91 loginReq = true;
92 dispose();
93
94// try {
95// Class.forName("oracle.jdbc.driver.OracleDriver");
96//
97//
98// Connection con = DriverManager.getConnection(""+getDbURL(),getUser(),getPw());
99// Statement stmt = con.createStatement();
100// // stmt.execute("CREATE DATABASE IF NOT EXISTS usersDB");
101// // stmt.execute("Use usersDB");
102// //table exist
103//
104//
105// ResultSet rs = stmt.executeQuery("select * from tab where tname='users'");
106//
107// if(!rs.next()){
108// stmt.executeUpdate("create table users (username varchar(15), password varchar(20), firstname varchar(15), lastname varchar(15), address varchar(30), phonenumber varchar(12))");
109// }
110//
111//
112// Statement stmt1 = con.createStatement();
113// //check username and pw
114// ResultSet rs1 = stmt1.executeQuery("SELECT * FROM users WHERE username = '"+getUsernameTextField()+"'");
115// if(rs1.next()){
116// if(rs1.getString("password").compareTo(getPasswordTextField())==0){
117// //set Login flag
118// loginSuccess = true;
119// System.out.println("Login succesful!");
120// }
121// }else{
122// System.out.println("Username doesn't exist!");
123// }
124// stmt.close();
125// stmt1.close();
126// rs1.close();
127// con.close();
128//
129//
130//
131// } catch (ClassNotFoundException e) {
132// // TODO Auto-generated catch block
133// e.printStackTrace();
134// }catch(SQLException sqlex){
135// //TODO
136// sqlex.printStackTrace();
137// System.out.println(sqlex.getMessage());
138// }
139// // Sends the login status to the server
140// if(loginSuccess){
141//
142// }else{
143// }
144
145 }
146 });
147
148
149
150 GroupLayout gl_contentPane = new GroupLayout(contentPane);
151 gl_contentPane.setHorizontalGroup(
152 gl_contentPane.createParallelGroup(Alignment.LEADING)
153 .addGroup(gl_contentPane.createSequentialGroup()
154 .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
155 .addGroup(gl_contentPane.createSequentialGroup()
156 .addContainerGap()
157 .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
158 .addComponent(lblPassword, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
159 .addComponent(lblUsername, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
160 .addPreferredGap(ComponentPlacement.UNRELATED)
161 .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false)
162 .addComponent(passwordTextField)
163 .addComponent(usernameTextField)))
164 .addGroup(gl_contentPane.createSequentialGroup()
165 .addGap(30)
166 .addComponent(btnLogin)
167 .addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
168 .addComponent(btnRegister)))
169 .addContainerGap(266, Short.MAX_VALUE))
170 );
171 gl_contentPane.setVerticalGroup(
172 gl_contentPane.createParallelGroup(Alignment.LEADING)
173 .addGroup(gl_contentPane.createSequentialGroup()
174 .addContainerGap()
175 .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
176 .addComponent(lblUsername)
177 .addComponent(usernameTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
178 .addPreferredGap(ComponentPlacement.RELATED)
179 .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
180 .addComponent(lblPassword)
181 .addComponent(passwordTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
182 .addPreferredGap(ComponentPlacement.RELATED)
183 .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
184 .addComponent(btnLogin)
185 .addComponent(btnRegister))
186 .addContainerGap(166, Short.MAX_VALUE))
187 );
188 contentPane.setLayout(gl_contentPane);
189 getContentPane().add(contentPane);
190 setDefaultCloseOperation(DISPOSE_ON_CLOSE);
191 pack();
192 setVisible(true);
193 }
194
195 public String getDbURL() {
196 return dbURL;
197 }
198
199 public void setDbURL(String dbURL) {
200 this.dbURL = dbURL;
201 }
202
203 public String getUser() {
204 return user;
205 }
206
207 public void setUser(String user) {
208 this.user = user;
209 }
210
211 public String getPw() {
212 return pw;
213 }
214
215 public void setPw(String pw) {
216 this.pw = pw;
217 }
218 public String getUsernameTextField() {
219 return usernameTextField.getText();
220 }
221 public String getPasswordTextField() {
222 return passwordTextField.getText();
223 }
224
225 public String[] getQuery() {
226 // TODO Auto-generated method stub
227 return query;
228 }
229}