Guest User

Untitled

a guest
Oct 23rd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.67 KB | None | 0 0
  1. //Made by Mohamed Adam Chaieb - Summer 2011
  2.  
  3. import java.awt.event.*;
  4. import java.io.*;
  5. import java.util.ArrayList;
  6.  
  7. public class SignUpFrame extends javax.swing.JFrame {
  8.  
  9. /** Creates new form TestFrame */
  10. public SignUpFrame()
  11. {
  12. initComponents();
  13. }
  14.  
  15. private void initComponents()
  16. {
  17. jLabel1 = new javax.swing.JLabel();
  18. jLabel2 = new javax.swing.JLabel();
  19. jTextField1 = new javax.swing.JTextField();
  20. jLabel3 = new javax.swing.JLabel();
  21. jTextField2 = new javax.swing.JTextField();
  22. jLabel4 = new javax.swing.JLabel();
  23. jPasswordField1 = new javax.swing.JPasswordField();
  24. jLabel5 = new javax.swing.JLabel();
  25. jTextField4 = new javax.swing.JTextField();
  26. jButton1 = new javax.swing.JButton();
  27.  
  28.  
  29. this.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
  30. this.setTitle("Test Frame");
  31. this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
  32. this.setResizable(false);
  33. this.setLocationRelativeTo(null);
  34. this.addWindowListener(new Closer());
  35.  
  36. jLabel1.setText("Sign Up");
  37.  
  38. jLabel2.setText("Name");
  39.  
  40. jLabel3.setText("Username");
  41.  
  42. jLabel4.setText("Password");
  43.  
  44. jLabel5.setText("Age");
  45.  
  46. jButton1.setText("Submit");
  47. jButton1.addActionListener(new ClickListener());
  48.  
  49. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  50. getContentPane().setLayout(layout);
  51. layout.setHorizontalGroup(
  52. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  53. .addGroup(layout.createSequentialGroup()
  54. .addContainerGap()
  55. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  56. .addComponent(jLabel2)
  57. .addComponent(jLabel3)
  58. .addComponent(jLabel4)
  59. .addComponent(jLabel5))
  60. .addGap(30, 30, 30)
  61. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  62. .addComponent(jButton1)
  63. .addComponent(jPasswordField1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
  64. .addComponent(jLabel1)
  65. .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
  66. .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
  67. .addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE))
  68. .addContainerGap())
  69. );
  70. layout.setVerticalGroup(
  71. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  72. .addGroup(layout.createSequentialGroup()
  73. .addGap(6, 6, 6)
  74. .addComponent(jLabel1)
  75. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  76. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  77. .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  78. .addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING))
  79. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  80. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  81. .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
  82. .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  83. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  84. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  85. .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  86. .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
  87. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  88. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  89. .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  90. .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
  91. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  92. .addComponent(jButton1)
  93. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  94. );
  95.  
  96. pack();
  97. }
  98.  
  99. private boolean usernameExists(String username) throws IOException,FileNotFoundException
  100. {
  101. BufferedReader reader = getReader(this.data);
  102. String line = reader.readLine();
  103. ArrayList<String> usernames = new ArrayList<String>();
  104. while(line != null)
  105. {
  106. String[] data = line.split("\t");
  107. usernames.add(data[0]);
  108. line = reader.readLine();
  109. }
  110. for(String e : usernames)
  111. {
  112. if(e.equalsIgnoreCase(username))
  113. {
  114. return true;
  115. }
  116. }
  117. return false;
  118. }
  119.  
  120. private boolean nameExists(String name) throws IOException,FileNotFoundException
  121. {
  122. BufferedReader reader = getReader(this.data);
  123. String line = reader.readLine();
  124. ArrayList<String> names = new ArrayList<String>();
  125. while(line != null)
  126. {
  127. String[] data = line.split("\t");
  128. names.add(data[2]);
  129. line = reader.readLine();
  130. }
  131. for(String e : names)
  132. {
  133. if(e.equalsIgnoreCase(name))
  134. {
  135. return true;
  136. }
  137. }
  138. return false;
  139. }
  140.  
  141. private boolean validAge(String age)
  142. {
  143. try
  144. {
  145. int test = Integer.parseInt(age);
  146. if(test>0 && test<120)
  147. return true;
  148. else
  149. return false;
  150. }
  151. catch(NumberFormatException nfe)
  152. {
  153. return false;
  154. }
  155. }
  156.  
  157. private boolean validPass(String pass)
  158. {
  159. if(pass.length()>=6)
  160. return true;
  161. else
  162. return false;
  163. }
  164.  
  165. private PrintWriter getWriter(File file)
  166. {
  167. PrintWriter writer = null;
  168. try
  169. {
  170. writer = new PrintWriter(new BufferedWriter(new FileWriter(file,true)));
  171. }
  172. catch(IOException ioe)
  173. {
  174.  
  175. }
  176. return writer;
  177. }
  178.  
  179. private BufferedReader getReader(File file)
  180. {
  181. BufferedReader reader = null;
  182. try
  183. {
  184. reader = new BufferedReader(new FileReader(file));
  185. }
  186. catch(FileNotFoundException fnfe)
  187. {
  188.  
  189. }
  190. catch(IOException ioe)
  191. {
  192.  
  193. }
  194. return reader;
  195. }
  196.  
  197. //inner classes
  198. private class Closer extends WindowAdapter
  199. {
  200. public void windowClosing(WindowEvent e)
  201. {
  202. setVisible(false);
  203. }
  204. }
  205.  
  206. private class SignUpThread implements Runnable
  207. {
  208. public void run()
  209. {
  210. String name = jTextField1.getText();
  211. String username = jTextField2.getText();
  212. String age = jTextField4.getText();
  213. String pass = MainLoginFrame.getPass(jPasswordField1.getPassword());
  214. try
  215. {
  216. boolean nameExists = nameExists(name);
  217. boolean usernameExists = usernameExists(username);
  218. boolean validAge = validAge(age);
  219. boolean validPass = validPass(pass);
  220. if(!nameExists && !usernameExists && validAge && validPass)
  221. {
  222. PrintWriter writer = getWriter(data);
  223. String line = username+"\t"+pass+"\t"+name+"\t"+age;
  224. writer.println(line);
  225. writer.close();
  226. setVisible(false);
  227. }
  228. if(nameExists)
  229. jTextField1.setText("Name already taken.");
  230. if(usernameExists)
  231. jTextField2.setText("Username already taken.");
  232. if(!validAge)
  233. jTextField4.setText("Age not valid.");
  234. if(!validPass)
  235. jLabel4.setText("Pass too short");
  236. }
  237. catch(IOException ioe)
  238. {
  239. jLabel1.setText("Error.");
  240. }
  241. }
  242. }
  243.  
  244. private class ClickListener implements ActionListener
  245. {
  246. public void actionPerformed(ActionEvent event)
  247. {
  248. if(event.getSource() == jButton1)
  249. {
  250. new Thread(new SignUpThread()).start();
  251. }
  252. }
  253. }
  254. // Variables declaration - do not modify
  255. private File data = new File("C:\\Programming stuff\\Finalized Projects\\Login System\\Data.txt");
  256. private javax.swing.JButton jButton1;
  257. private javax.swing.JLabel jLabel1;
  258. private javax.swing.JLabel jLabel2;
  259. private javax.swing.JLabel jLabel3;
  260. private javax.swing.JLabel jLabel4;
  261. private javax.swing.JLabel jLabel5;
  262. private javax.swing.JPasswordField jPasswordField1;
  263. private javax.swing.JTextField jTextField1;
  264. private javax.swing.JTextField jTextField2;
  265. private javax.swing.JTextField jTextField3;
  266. private javax.swing.JTextField jTextField4;
  267. // End of variables declaration
  268. }
Add Comment
Please, Sign In to add comment