Thursday 28 June 2012

java project : login page


import   java.awt.*;
import   javax.swing.*;
import   java.io.*;
import   java.util.regex.*;
import   java.awt.event.*;
class  login1  extends   JFrame   implements   ActionListener,KeyListener,FocusListener
{
                int  cnt=0;
                String  str1,uname,upass,ans,answer,name;
                String   password;
                Boolean  flag=false,flag1=false;
                String  opass,npass,cpass;
                String  que;
                JLabel   l1=new   JLabel("Username :");
                JLabel  l2=new   JLabel("Password :");
                JLabel   qu=new JLabel(" ");
                JTextField    t1=new    JTextField(20);
                JPasswordField  t2=new  JPasswordField(20);
                ImageIcon   image1=new   ImageIcon("login.jpg");
                JButton   login=new   JButton(image1);
                ImageIcon  image2=new  ImageIcon("for.jpg");
                JButton   forget=new   JButton(image2);
                ImageIcon   image3=new   ImageIcon("change.jpg");
                JButton   change=new   JButton(image3);
                JButton   recover=new   JButton("RecoverPassword");
                JLabel   jb=new   JLabel();
                JLabel   jl=new  JLabel("Username :");
                JTextField   tf=new    JTextField(15);
                JLabel   qq=new    JLabel("Question :");
                JLabel    j2=new   JLabel("Answer :");
                JTextField   tf2=new   JTextField(15);
                JPasswordField   oldpass=new   JPasswordField(15);
                JPasswordField   newpass=new   JPasswordField(15);
                JPasswordField    confirm=new   JPasswordField(15);
                JTextField   uname1=new   JTextField(15);
                JButton   changepass=new   JButton("ChangePassword");
                Font   f;
                JFrame   frame;
                login1(String str)
                {
                                super(str);
                                JPanel    p=new   JPanel(new GridLayout(2,2));
                                setSize(700,300);
                                JPanel   p1=new   JPanel(new GridLayout(1,3));
                                JPanel   p2=new   JPanel();
                                Insets   insets = new   Insets(0,1,0,0);
                                login.setMargin(insets);
                                forget.setMargin(insets);
                                change.setMargin(insets);
                                 login.setToolTipText("Login");
                                 forget.setToolTipText("Recover Password");
                                 change.setToolTipText("Change Password");
                                p1.add(login);
                                p1.add(forget);
                                p1.add(change);
                                p2.add(p1);
                                p2.setBounds(0,70,650,100);
                                add(p2);
                                JPanel p3=new JPanel();
                                p.add(l1);
                                p.add(t1);
                                p.add(l2);
                                p.add(t2);
                                p3.add(p);
                                add(p3,BorderLayout.CENTER);
                                setResizable(false);
                                login.addActionListener(this);
                                login.addKeyListener(this);
                                forget.addActionListener(this);
                                forget.addKeyListener(this);
                                change.addKeyListener(this);
                                change.addActionListener(this);
                                recover.addActionListener(this);
                                recover.addKeyListener(this);
                                changepass.addActionListener(this);
                                changepass.addKeyListener(this);
                                tf.addFocusListener(this);
                                oldpass.addFocusListener(this);
                                newpass.addFocusListener(this);
                                confirm.addFocusListener(this);
                                uname1.addFocusListener(this);
                                str1="Well Come";
                }
                public boolean validdateuserandpass(String f,String use,String pass)
                {
                                try
                                {
                                File infile=new File(f);
                                int flag=0;
                                BufferedReader   br=new   BufferedReader(new FileReader(f));
                                String   uname=null;
                                while((uname=br.readLine())!=null)
                                {
                                                uname=uname.trim();
                                                Pattern   pat=Pattern.compile("/");
                                                String str[]=pat.split(uname);    
                                                if(str[0].equals(use) && str[1].equals(pass))
                                                {
                                                                flag++;
                                                                break;
                                                }
                                                else
                                                {
                                                                flag=0;
                                                }
                                }
                                br.close();
                                if(flag>0)
                                {
                                                return true;
                                }
                                else
                                {
                                                return false;
                                }
                                }
                                catch(Exception e)
                                {
                                                System.out.println(e);
                                }
                                return true;
                }             
                public void changepassword(String f,String oldp,String newp,String use)
                {
                                int  flag=0,flag1=0;
                                try
                                {
                                                File  infile=new  File(f);
                                                BufferedReader br=new BufferedReader(new FileReader(f));
                                                File   tempFile=new  File(infile.getAbsolutePath() + ".tmp");
                                                PrintWriter pw=new PrintWriter(new FileWriter(tempFile));
                                                String uname=null;
                                                while((uname=br.readLine())!=null)
                                                {
                                                                uname=uname.trim();
                                                                Pattern pat=Pattern.compile("/");
                                                                String str[]=pat.split(uname);
                                                               
                                                                if(str[0].equals(use))
                                                                {
                                                                                flag++;
                                                                                if(str[1].equals(oldp))
                                                                                {
                                                                                                name=str[0];
                                                                                                password=str[1];
                                                                                                flag1++;
                                                                                                str[1]=newp;
                                                                                                uname=str[0]+"/"+str[1]+"/"+str[2]+"/"+str[3];
                                                                                                //break;
                                                                                }
                                                                }
                                                                pw.println(uname);
                                                                pw.flush();
                                                }
                                                pw.close();
                                                br.close();
                                                if(!infile.delete())
                                                {
                                                                        System.out.println("Could not delete file");
                                                                                return;
                                                }
                                                if(!tempFile.renameTo(infile))
                                                {
                                                                 System.out.println("Could not rename file");
                                                }
                                                if(flag==0)
                                                {
                                                                JOptionPane.showMessageDialog(frame,"Invalid Username");
                                                }
                                                else if(flag1==0)
                                                {
                                                                JOptionPane.showMessageDialog(frame,"Invalid Password");
                                                }
                                                else if(flag>0 && flag1>0)
                                                {
                                                JOptionPane.showMessageDialog(frame,"Password Successfully Changed");
                                                frame.dispose();
                                                }
                                }
                                catch(Exception e)
                                {
                                                System.out.println(e);
                                }
                }
                                                                               
         public   boolean   forgetpassword(String f,String use)
                {
                                try
                                {
                                                int   flag=0;
                                                File   infile=new File(f);
                                                BufferedReader   br=new   BufferedReader(new   FileReader(f));
                                                String   uname=null;
                                                while((uname=br.readLine())!=null)
                                                {             
                                                                uname=uname.trim();
                                                                Pattern  pat=Pattern.compile("/");
                                                                String  str[]=pat.split(uname);
                                                                if(str[0].equals(use))
                                                                {
                                                                                que=str[2];
                                                                                ans=str[3];
                                                                                password=str[1];
                                                                                name=str[0];
                                                                                flag++;
                                                                                break;
                                                                               
                                                                }
                                                                else
                                                                {
                                                                                flag=0;
                                                                }
                                                }
                                                br.close();
                                                if(flag>0)
                                                {
                                                                return true;
                                                }
                                                else
                                                {
                                                                return false;
                                                }
                                }
                                catch(Exception e)
                                {
                                                System.out.println(e);
                                }
                                return true;
                }
                public   void   keyTyped(KeyEvent ke)
                {}
                public   void   keyReleased(KeyEvent ke)
                {}
                public  void  keyPressed(KeyEvent ke)
                {
                                if(ke.getSource().equals(recover))
                                {
                                                answer=tf2.getText();
                                                uname=tf.getText();
                                                if(!uname.equals(name) && !uname.equals(""))
                                                {
                                                                JOptionPane.showMessageDialog(frame,"Invalid Username");
                                                }
                                                else if(uname.equals(""))
                                                {
                                                JOptionPane.showMessageDialog(frame,"Please First Enter Username");
                                                }
                                                else
                                                {
                                                                if(answer.equals(""))
                                                                {
JOptionPane.showMessageDialog(frame,"Please First Enter Answer");
                                                                }
                                                else
                                                {
                                                if(answer.equals(ans))
                                                {
                                                JOptionPane.showMessageDialog(frame,"Your Password is " + password);
                                                frame.dispose();
                                                }
                                                else
                                                {
                                                JOptionPane.showMessageDialog(frame,"Incorrect Answer please try again");
                                                }
                                         }
                                   }
                                  }
                               
                                if(ke.getSource().equals(login))
                                {
                                                uname=t1.getText();
                                                upass=t2.getText();
                                                if(validdateuserandpass("login.txt",uname,upass))
                                                {
                                                                frame=new JFrame("Wellcome" );
                                                                f=new Font(str1,Font.PLAIN,20);
                                                                setFont(f);
                                                                frame.setSize(500,200);
                                                                frame.setVisible(true);
                                                                str1+= "  "+ uname;
                                                                jb.setText(str1);
                                                                JPanel p1=new JPanel();
                                                                p1.add(jb);
                                                                frame.add(p1);
                                                                frame.setResizable(false);
                                                                dispose();
                                                }
                                                else
                                                {
                                                JOptionPane.showMessageDialog(login,"Invalid Username & Password");
                                                }
                                }
                                if(ke.getSource().equals(forget))
                                {
                               
                                                                frame=new  JFrame("ForgetPassword");
                                                                frame.setSize(600,200);
                                                                tf2.setText("");
                                                                tf.setText("");
                                                                qu.setText("");
                                                                JPanel p=new JPanel(new GridLayout(1,2));
                                                                JPanel p1=new JPanel();
                                                                JPanel p2=new JPanel(new GridLayout(2,2));
                                                                JPanel p3=new JPanel();
                                                                JPanel p4=new JPanel(new GridLayout(1,1));
                                                                JPanel p5=new JPanel();
                                                                p2.add(qq);
                                                                p2.add(qu);
                                                                p2.add(j2);
                                                                p2.add(tf2);
                                                                p3.add(p2);
                                                                p3.setBounds(10,60,600,150);
                                                                frame.add(p3,BorderLayout.CENTER);
                                                                p4.add(recover);
                                                                p5.add(p4);
                                                                p5.setBounds(10,110,600,150);
                                                                frame.add(p5);
                                                                p.add(jl);
                                                                p.add(tf);
                                                                p1.add(p);
                                                                frame.add(p1,BorderLayout.CENTER);
                                                                frame.setResizable(false);
                                                                frame.setVisible(true);
                                }
                                if(ke.getSource().equals(change))
                                {
                                                frame=new JFrame("ChangePassword");
                                                frame.setSize(500,200);
                                                uname1.setText("");
                                                oldpass.setText("");
                                                newpass.setText("");
                                                confirm.setText("");
                                                jl.setText("UserName : ");
                                                jb.setText("OldPassword :");
                                                qq.setText("NewPassword :");
                                                j2.setText("Confirm : ");
                                                JPanel p1=new JPanel(new GridLayout(4,2));
                                                JPanel p2=new JPanel();
                                                JPanel p3=new JPanel(new GridLayout(1,1));
                                                JPanel p4=new JPanel();
                                                p3.add(changepass);
                                                p4.add(p3);                       
                                                p4.setBounds(0,90,500,175);
                                                frame.add(p4);
                                                p1.add(jl);
                                                p1.add(uname1);
                                                p1.add(jb);
                                                p1.add(oldpass);
                                                p1.add(qq);
                                                p1.add(newpass);
                                                p1.add(j2);
                                                p1.add(confirm);
                                                p2.add(p1);
                                                frame.add(p2,BorderLayout.CENTER);
                                                frame.setResizable(false);
                                                frame.setVisible(true);
                                }
                                if(ke.getSource().equals(changepass))
                                {
                                                uname=uname1.getText();
                                                opass=oldpass.getText();
                                                npass=newpass.getText();
                                                cpass=confirm.getText();
                                                if(uname.equals(""))
                                                {
                                                                JOptionPane.showMessageDialog(frame,"Please Enter the Username");
                                                }
                                                else if(opass.equals(""))
                                                {
                                                JOptionPane.showMessageDialog(frame,"Please Enter the OldPassword");
                                                }
                                                else if(npass.equals(""))
                                                {             
                                                JOptionPane.showMessageDialog(frame,"Please Enter the NewPassword");
                                                }
                                                else if(cpass.equals(npass))
                                                {
                                                                changepassword("login.txt",opass,npass,uname);
                                                }
                                                else
                                                {
JOptionPane.showMessageDialog(frame,"NewPassword  and ConfirmPassword not matched");
                                                }
                                }
                }
                public  void  focusLost(FocusEvent te)
                {             
                                if(te.getSource().equals(tf))
                                {
                                                uname=tf.getText();
                                                if(forgetpassword("login.txt",uname))
                                                {
                                                                qu.setText(que);
                                                }
                                                else
                                                {
                                                                if(frame.isVisible())
                                                                {
                                                                                JOptionPane.showMessageDialog(frame,"Incorrect Username");
                                                                                tf.setText("");
                                                                }
               
                                                }
                                }
                                if(te.getSource().equals(uname1))
                                {
                                                               
                                                uname=uname1.getText();        
                                                flag1=forgetpassword("login.txt",uname);
                                                if(flag1)
                                                {
                                                                uname1.setEnabled(false);
                                                }
                                                else
                                                {
                                                                if(frame.isVisible())
                                                                {

                                                                JOptionPane.showMessageDialog(frame,"Incorrect Username");
                                                                uname1.setText("");
                                                                }
                                                               
                                                }
                                }
                               
               
                                if(te.getSource().equals(oldpass))
                                {
                                               
                                                uname=uname1.getText();
                                                opass=oldpass.getText();
                                                npass=newpass.getText();
                                                cpass=confirm.getText();
                                                flag=validdateuserandpass("login.txt",uname,opass);
                                                if(flag)
                                                {
                                                                oldpass.setEnabled(false);
                                                }
                                                else if(flag1)
                                                {
                                                                if(frame.isVisible())
                                                                {             
                                                                JOptionPane.showMessageDialog(frame,"Password not Matched");
                                                                oldpass.setText("");
                                                                }
                                                }
                                }
                                if(te.getSource().equals(newpass))
                                {
                                                npass=newpass.getText();
                                                if(npass.equals("") && flag)
                                                {
                                                                if(frame.isVisible())
                                                                {
                                                                JOptionPane.showMessageDialog(frame,"Please enter the
                                                                NewPassword");
                                                                newpass.setText("");
                                                                }
                                                }
                                                else if(flag)
                                                {
                                                                newpass.setEnabled(false);
                                                }
                                }
                                if(te.getSource().equals(confirm))
                                {
                                                npass=newpass.getText();
                                                cpass=confirm.getText();
                                                if(cpass.equals(npass) && !npass.equals(""))
                                                {
                                                                confirm.setEnabled(false);
                                                }
                                                else if(!npass.equals(""))
                                                {
                                                                if(frame.isVisible())
                                                                {
JOptionPane.showMessageDialog(frame,"NewPassword and ConfirmPassword not Matched");
                                                                                newpass.setEnabled(true);
                                                                                newpass.setText("");
                                                                                confirm.setText("");
                                                                }
                                                }
                                }
                }             
                public void focusGained(FocusEvent te)
                {
               
                }             
                public   void   actionPerformed(ActionEvent ae)
                {
                                uname=t1.getText();
                                upass=t2.getText();
                                if(ae.getSource().equals(login))
                                {
                                                if(validdateuserandpass("login.txt",uname,upass))
                                                {
                                                                frame=new JFrame("Wellcome" );
                                                                f=new Font(str1,Font.PLAIN,20);
                                                                setFont(f);
                                                                frame.setSize(500,200);
                                                                frame.setVisible(true);
                                                                str1+= "  "+ uname;
                                                                jb.setText(str1);
                                                                JPanel p1=new JPanel();
                                                                p1.add(jb);
                                                                frame.add(p1);
                                                                frame.setResizable(false);
                                                                dispose();
                                                }
                                                else
                                                {
                                                JOptionPane.showMessageDialog(login,"Invalid Username & Password");
                                                }
                                }
                                if(ae.getSource().equals(forget))
                                {
                                                                frame=new JFrame("ForgetPassword");
                                                                frame.setSize(600,200);
                                                                tf2.setText("");
                                                                tf.setText("");
                                                                qu.setText("");
                                                                JPanel p=new JPanel(new GridLayout(1,2));
                                                                JPanel p1=new JPanel();
                                                                JPanel p2=new JPanel(new GridLayout(2,2));
                                                                JPanel p3=new JPanel();
                                                                JPanel p4=new JPanel(new GridLayout(1,1));
                                                                JPanel p5=new JPanel();
                                                                p2.add(qq);
                                                                p2.add(qu);
                                                                p2.add(j2);
                                                                p2.add(tf2);
                                                                p3.add(p2);
                                                                p3.setBounds(10,60,600,150);
                                                                frame.add(p3,BorderLayout.CENTER);
                                                                p4.add(recover);
                                                                p5.add(p4);
                                                                p5.setBounds(10,110,600,150);
                                                                frame.add(p5);
                                                                p.add(jl);
                                                                p.add(tf);
                                                                p1.add(p);
                                                                frame.add(p1,BorderLayout.CENTER);
                                                                frame.setResizable(false);
                                                                frame.setVisible(true);
                                }                                                             
                                if(ae.getSource().equals(recover))
                                {
                                                answer=tf2.getText();
                                                uname=tf.getText();
                                                if(!uname.equals(name) && !uname.equals(""))
                                                {
                                                                JOptionPane.showMessageDialog(frame,"Invalid Username");
                                                }
                                                else if(uname.equals(""))
                                                {
                                                JOptionPane.showMessageDialog(frame,"Please First Enter Username");
                                                }
                                                else
                                                {
                                                                if(answer.equals(""))
                                                                {
                                                                JOptionPane.showMessageDialog(frame,"Please First Enter Answer");
                                                                }
                                                                else
                                                                {
                                                                if(answer.equals(ans))
                                                                {
JOptionPane.showMessageDialog(frame,"Your Password is " + password);
                                                                                frame.dispose();
                                                                }
                                                                                else
                                                                                {
                                                JOptionPane.showMessageDialog(frame,"Incorrect Answer please try again");
                                                                                }
                                                                }
                                                }
                                }
                                               
               
                                if(ae.getSource().equals(change))
                                {
                                               
                                                frame=new JFrame("ChangePassword");
                                                frame.setSize(500,200);
                                                oldpass.setEnabled(true);
                                                uname1.setEnabled(true);
                                                newpass.setEnabled(true);
                                                confirm.setEnabled(true);
                                                uname1.setText("");
                                                oldpass.setText("");
                                                newpass.setText("");
                                                confirm.setText("");
                                                jl.setText("UserName : ");
                                                jb.setText("OldPassword :");
                                                qq.setText("NewPassword :");
                                                j2.setText("Confirm : ");
                                                JPanel p1=new JPanel(new GridLayout(4,2));
                                                JPanel p2=new JPanel();
                                                JPanel p3=new JPanel(new GridLayout(1,1));
                                                JPanel p4=new JPanel();
                                                p3.add(changepass);
                                                p4.add(p3);                       
                                                p4.setBounds(0,90,500,175);
                                                frame.add(p4);
                                                p1.add(jl);
                                                p1.add(uname1);
                                                p1.add(jb);
                                                p1.add(oldpass);
                                                p1.add(qq);
                                                p1.add(newpass);
                                                p1.add(j2);
                                                p1.add(confirm);
                                                p2.add(p1);
                                                frame.add(p2,BorderLayout.CENTER);
                                                frame.setResizable(false);
                                                frame.setVisible(true);
                                }
                                if(ae.getSource().equals(changepass))
                                {
                               
                                                uname=uname1.getText();
                                                opass=oldpass.getText();
                                                npass=newpass.getText();
                                                cpass=confirm.getText();
                                                 if(uname.equals(""))
                                                {
                                                                JOptionPane.showMessageDialog(frame,"Please Enter the Username");
                                                }
                                                else if(opass.equals(""))
                                                {
JOptionPane.showMessageDialog(frame,"Please Enter the OldPassword");
                                                }
                                                else if(npass.equals(""))
                                                {             
JOptionPane.showMessageDialog(frame,"Please Enter the NewPassword");
                                                }
                                                else if(cpass.equals(npass))
                                                {
                                                                changepassword("login.txt",opass,npass,uname);
                                                }
                                                else
                                                {
JOptionPane.showMessageDialog(frame,"NewPassword and ConfirmPassword not Matched");
                                                }
                                }             
               
                                               
                }
                public static void main(String args[])
                {
                                Image image;
                                login1 l=new login1("Login");
                                l.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                Toolkit tool = Toolkit.getDefaultToolkit();
                                image=tool.getImage("Login.png");
                                l.setIconImage(image);
                                l.setVisible(true);

                }
               
}

/*Notepad File
Hetal/Adhvaryu/Who is your best Friend ?/Sneha
Avni/goenka/What is your favourite book ?/Java
dhruvil/shah/What is id no ?/123
manish/dalwadi/What was the name of your First Teacher ?/Hiral
*/








OUTPUT :=
=======





0 comments:

Post a Comment