Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Made by Mohamed Adam Chaieb - Summer 2011
- import java.awt.event.*;
- import java.io.*;
- import java.util.ArrayList;
- public class SignUpFrame extends javax.swing.JFrame {
- /** Creates new form TestFrame */
- public SignUpFrame()
- {
- initComponents();
- }
- private void initComponents()
- {
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- jTextField1 = new javax.swing.JTextField();
- jLabel3 = new javax.swing.JLabel();
- jTextField2 = new javax.swing.JTextField();
- jLabel4 = new javax.swing.JLabel();
- jPasswordField1 = new javax.swing.JPasswordField();
- jLabel5 = new javax.swing.JLabel();
- jTextField4 = new javax.swing.JTextField();
- jButton1 = new javax.swing.JButton();
- this.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
- this.setTitle("Test Frame");
- this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
- this.setResizable(false);
- this.setLocationRelativeTo(null);
- this.addWindowListener(new Closer());
- jLabel1.setText("Sign Up");
- jLabel2.setText("Name");
- jLabel3.setText("Username");
- jLabel4.setText("Password");
- jLabel5.setText("Age");
- jButton1.setText("Submit");
- jButton1.addActionListener(new ClickListener());
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel2)
- .addComponent(jLabel3)
- .addComponent(jLabel4)
- .addComponent(jLabel5))
- .addGap(30, 30, 30)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jButton1)
- .addComponent(jPasswordField1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
- .addComponent(jLabel1)
- .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
- .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
- .addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(6, 6, 6)
- .addComponent(jLabel1)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
- .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jButton1)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- pack();
- }
- private boolean usernameExists(String username) throws IOException,FileNotFoundException
- {
- BufferedReader reader = getReader(this.data);
- String line = reader.readLine();
- ArrayList<String> usernames = new ArrayList<String>();
- while(line != null)
- {
- String[] data = line.split("\t");
- usernames.add(data[0]);
- line = reader.readLine();
- }
- for(String e : usernames)
- {
- if(e.equalsIgnoreCase(username))
- {
- return true;
- }
- }
- return false;
- }
- private boolean nameExists(String name) throws IOException,FileNotFoundException
- {
- BufferedReader reader = getReader(this.data);
- String line = reader.readLine();
- ArrayList<String> names = new ArrayList<String>();
- while(line != null)
- {
- String[] data = line.split("\t");
- names.add(data[2]);
- line = reader.readLine();
- }
- for(String e : names)
- {
- if(e.equalsIgnoreCase(name))
- {
- return true;
- }
- }
- return false;
- }
- private boolean validAge(String age)
- {
- try
- {
- int test = Integer.parseInt(age);
- if(test>0 && test<120)
- return true;
- else
- return false;
- }
- catch(NumberFormatException nfe)
- {
- return false;
- }
- }
- private boolean validPass(String pass)
- {
- if(pass.length()>=6)
- return true;
- else
- return false;
- }
- private PrintWriter getWriter(File file)
- {
- PrintWriter writer = null;
- try
- {
- writer = new PrintWriter(new BufferedWriter(new FileWriter(file,true)));
- }
- catch(IOException ioe)
- {
- }
- return writer;
- }
- private BufferedReader getReader(File file)
- {
- BufferedReader reader = null;
- try
- {
- reader = new BufferedReader(new FileReader(file));
- }
- catch(FileNotFoundException fnfe)
- {
- }
- catch(IOException ioe)
- {
- }
- return reader;
- }
- //inner classes
- private class Closer extends WindowAdapter
- {
- public void windowClosing(WindowEvent e)
- {
- setVisible(false);
- }
- }
- private class SignUpThread implements Runnable
- {
- public void run()
- {
- String name = jTextField1.getText();
- String username = jTextField2.getText();
- String age = jTextField4.getText();
- String pass = MainLoginFrame.getPass(jPasswordField1.getPassword());
- try
- {
- boolean nameExists = nameExists(name);
- boolean usernameExists = usernameExists(username);
- boolean validAge = validAge(age);
- boolean validPass = validPass(pass);
- if(!nameExists && !usernameExists && validAge && validPass)
- {
- PrintWriter writer = getWriter(data);
- String line = username+"\t"+pass+"\t"+name+"\t"+age;
- writer.println(line);
- writer.close();
- setVisible(false);
- }
- if(nameExists)
- jTextField1.setText("Name already taken.");
- if(usernameExists)
- jTextField2.setText("Username already taken.");
- if(!validAge)
- jTextField4.setText("Age not valid.");
- if(!validPass)
- jLabel4.setText("Pass too short");
- }
- catch(IOException ioe)
- {
- jLabel1.setText("Error.");
- }
- }
- }
- private class ClickListener implements ActionListener
- {
- public void actionPerformed(ActionEvent event)
- {
- if(event.getSource() == jButton1)
- {
- new Thread(new SignUpThread()).start();
- }
- }
- }
- // Variables declaration - do not modify
- private File data = new File("C:\\Programming stuff\\Finalized Projects\\Login System\\Data.txt");
- private javax.swing.JButton jButton1;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JPasswordField jPasswordField1;
- private javax.swing.JTextField jTextField1;
- private javax.swing.JTextField jTextField2;
- private javax.swing.JTextField jTextField3;
- private javax.swing.JTextField jTextField4;
- // End of variables declaration
- }
Add Comment
Please, Sign In to add comment