Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Develop your SignIn() method in class Account.java and already given OpenBanckAccountBO.java and also other files.you just put the method in Account.java file .its alrady given

image text in transcribed

Develop your SignIn() method in class Account.java and already given OpenBanckAccountBO.java and also other files.you just put the method in Account.java file .its alrady given here .i want to look like output like this .

you just right signIn() method in Account.java.

DBConnection.java

package Com.Patel;

import java.util.*; import java.sql.*;

public class DBConnection {

private Connection connection; private String URL;

public DBConnection() { //URL = "jdbc:odbc:JavaClass"; URL ="jdbc:sqlserver://127.0.0.1:1433;databaseName=JavaClass;integratedSecurity=true;";//"user=tang;password=; connection = null;

}

public Connection openConn() { try { //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); connection = DriverManager.getConnection(URL); //connection = DriverManager.getConnection(URL, "tang", "xxxxxx"); } catch ( Exception e ) { e.printStackTrace(); connection = null; } return connection; }

public void closeConn() { try { connection.close(); } catch( Exception e ) { System.err.println ("Can't close the database connection."); } }

public Vector getNextRow(ResultSet rs,ResultSetMetaData rsmd) throws SQLException { Vector currentRow = new Vector();

for(int i=1;i

return currentRow; } }

Account.java

package Com.Patel;

import java.lang.*; //including Java packages used by this program import java.sql.*; import Com.Patel.*;

public class Account { private String Username, Password, Password1, Name;

public Account(String UN, String PassW, String PassW1, String NM) { Username = UN; Password = PassW; Password1 = PassW1; Name = NM; }

public Account(String UN, String PassW) { Username = UN; Password = PassW; }

public boolean signUp() { boolean done = !Username.equals("") && !Password.equals("") && !Password1.equals("") && Password.equals(Password1); try { if (done) { DBConnection ToDB = new DBConnection(); //Have a connection to the DB Connection DBConn = ToDB.openConn(); Statement Stmt = DBConn.createStatement(); String SQL_Command = "SELECT Username FROM Account WHERE Username ='"+Username+"'"; //SQL query command ResultSet Rslt = Stmt.executeQuery(SQL_Command); //Inquire if the username exsits. done = done && !Rslt.next(); if (done) { SQL_Command = "INSERT INTO Account(Username, Password, Name) VALUES ('"+Username+ "','"+Password+"','"+Name+"')"; //Save the username, password and Name Stmt.executeUpdate(SQL_Command); } Stmt.close(); ToDB.closeConn(); } } catch(java.sql.SQLException e) { done = false; System.out.println("SQLException: " + e); while (e != null) { System.out.println("SQLState: " + e.getSQLState()); System.out.println("Message: " + e.getMessage()); System.out.println("Vendor: " + e.getErrorCode()); e = e.getNextException(); System.out.println(""); } } catch (java.lang.Exception e) { done = false; System.out.println("Exception: " + e); e.printStackTrace (); } return done; }

public boolean changePassword(String NewPassword) { //5 boolean done = false; try { //20 DBConnection ToDB = new DBConnection(); //Have a connection to the DB Connection DBConn = ToDB.openConn(); Statement Stmt = DBConn.createStatement(); String SQL_Command = "SELECT * FROM Account WHERE Username ='"+Username+ "'AND Password ='"+Password+"'"; //SQL query command ResultSet Rslt = Stmt.executeQuery(SQL_Command); //Inquire if the username exsits. if (Rslt.next()) { SQL_Command = "UPDATE Account SET Password='"+NewPassword+"' WHERE Username ='"+Username+"'"; //Save the username, password and Name Stmt.executeUpdate(SQL_Command); Stmt.close(); ToDB.closeConn(); done=true; } } catch(java.sql.SQLException e) //5 { done = false; System.out.println("SQLException: " + e); while (e != null) { System.out.println("SQLState: " + e.getSQLState()); System.out.println("Message: " + e.getMessage()); System.out.println("Vendor: " + e.getErrorCode()); e = e.getNextException(); System.out.println(""); } } catch (java.lang.Exception e) { done = false; System.out.println("Exception: " + e); e.printStackTrace (); } return done; }

LoginBO.java

import java.awt.*; //including Java packages used by this program import java.awt.event.*; import javax.swing.*;

public class LoginBO extends JFrame implements ActionListener // Implementing ActionListener is for event handling. { private JButton SignUpButton, LoginButton; //Instance variables private JTextField UsernameField; private JPasswordField PasswordField;

public LoginBO() { setTitle("Login"); setSize(300, 200);

//get screen size and set the location of the frame Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); int screenHeight = d.height; int screenWidth = d.width; setLocation( screenWidth / 3, screenHeight / 4);

addWindowListener (new WindowAdapter() //handle window event { public void windowClosing (WindowEvent e) { System.exit(0); } });

SignUpButton = new JButton("Sign Up"); //initializing two button references LoginButton = new JButton("Login");

UsernameField = new JTextField(15); PasswordField = new JPasswordField(15);

JLabel FirstTimeUserLabel = new JLabel("First time user? Click Sign Up to register!"); JLabel UsernameLabel = new JLabel("Username: "); JLabel PasswordLabel = new JLabel("Password: ");

JPanel UsernamePanel = new JPanel(); JPanel PasswordPanel = new JPanel();

UsernamePanel.add(UsernameLabel); UsernamePanel.add(UsernameField); PasswordPanel.add(PasswordLabel); PasswordPanel.add(PasswordField);

JPanel LoginPanel = new JPanel(); LoginPanel.add(UsernamePanel); LoginPanel.add(PasswordPanel);

LoginPanel.add(LoginButton); //add the two buttons on to this panel LoginPanel.add(FirstTimeUserLabel); LoginPanel.add(SignUpButton);

SignUpButton.addActionListener(this); //event listener registration LoginButton.addActionListener(this);

Container contentPane = getContentPane(); //add a panel to a frame contentPane.add(LoginPanel);

}

public void actionPerformed(ActionEvent evt) //event handling { //Object source = evt.getSource(); //get who generates this event String arg = evt.getActionCommand();

if (arg.equals("Sign Up")) { //determine which button is clicked //System.out.println("Name: "+arg); SignUpControl SUC = new SignUpControl(); //take actions }

if (arg.equals("Login")) { //System.out.println("Name: "+arg); String Username = UsernameField.getText(); String Password = PasswordField.getText(); LoginControl LoginC = new LoginControl(Username, Password); } }

public static void main(String [] args) { JFrame frame = new LoginBO(); //initialize a JFrame object frame.show(); //display the frame } }

LoginControl.java

import java.lang.*; //including Java packages used by this program import javax.swing.*; import Com.Patel.*;

public class LoginControl { private Account Acct;

public LoginControl(String UName, String PWord) { Acct = new Account(UName, PWord); String CustomerName = Acct.signIn(); if (!CustomerName.equals("")) { //System.out.println("successful!"); //JOptionPane.showMessageDialog(null, "Login is successful!", "Confirmation", JOptionPane.INFORMATION_MESSAGE); OpenBankAccountBO OpenAcctBO = new OpenBankAccountBO(UName, CustomerName); } else //System.out.println("fail!"); JOptionPane.showMessageDialog(null, "Login failed because of invalid username or password.", "Confirmation", JOptionPane.INFORMATION_MESSAGE); } }

SignUpBO.java

import java.awt.*; //including Java packages used by this program import java.awt.event.*; import javax.swing.*; import Com.Patel.*;

class SignUpPanel extends JPanel implements ActionListener { private JButton RegisterButton; private JTextField UsernameField, NameField; private JPasswordField PasswordField, PasswordField1; private String UName, PsWord, PsWord1, Name; private Account Acct;

public SignUpPanel() { RegisterButton = new JButton("Register"); //initializing two button references

UsernameField = new JTextField(15); PasswordField = new JPasswordField(15); PasswordField1 = new JPasswordField(15); NameField = new JTextField(15);

JLabel UsernameLabel = new JLabel("Username: "); JLabel PasswordLabel = new JLabel("Password: "); JLabel PasswordLabel1 = new JLabel("Re-enter Password"); JLabel NameLabel = new JLabel("Name");

JPanel UsernamePanel = new JPanel(); JPanel PasswordPanel = new JPanel(); JPanel PasswordPanel1 = new JPanel(); JPanel NamePanel = new JPanel();

UsernamePanel.add(UsernameLabel); UsernamePanel.add(UsernameField); PasswordPanel.add(PasswordLabel); PasswordPanel.add(PasswordField); PasswordPanel1.add(PasswordLabel1); PasswordPanel1.add(PasswordField1); NamePanel.add(NameLabel); NamePanel.add(NameField);

add(UsernamePanel); add(PasswordPanel); add(PasswordPanel1); add(NamePanel);

add(RegisterButton); //add the two buttons on to this panel RegisterButton.addActionListener(this); //event listener registration }

public void actionPerformed(ActionEvent evt) //event handling { //Object source = evt.getSource(); //get who generates this event String arg = evt.getActionCommand(); if (arg.equals("Register")) { //determine which button is clicked UName = UsernameField.getText(); //take actions PsWord =PasswordField.getText(); PsWord1 = PasswordField1.getText(); Name = NameField.getText();

Acct = new Account(UName, PsWord, PsWord1, Name); if (Acct.signUp()) JOptionPane.showMessageDialog(null, "Account has been created!", "Confirmation", JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null, "Account creation failed due to an invalid email address or unmatched passwords or the email address exists.", "Confirmation", JOptionPane.INFORMATION_MESSAGE); } }

}

public class SignUpBO extends JFrame { private SignUpPanel SU_Panel;

public SignUpBO() { setTitle("Sign Up"); setSize(340, 210);

//get screen size and set the location of the frame Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); int screenHeight = d.height; int screenWidth = d.width; setLocation( screenWidth / 3, screenHeight / 4);

addWindowListener (new WindowAdapter() //handle window event { public void windowClosing (WindowEvent e) { System.exit(0); } });

Container contentPane = getContentPane(); //add a panel to a frame SU_Panel = new SignUpPanel(); contentPane.add(SU_Panel); show(); }

}

SignUpControl.java

import java.lang.*; //including Java packages used by this program import Com.Patel.*;

public class SignUpControl { private SignUpBO SU_BO;

public SignUpControl() { SU_BO = new SignUpBO(); } }

OpenBankAccountBO.java

import java.awt.*; //including Java packages used by this program import java.awt.event.*; import javax.swing.*;

class OpenBankAccountPanel extends JPanel implements ActionListener { private JButton OpenButton; private JTextField UsernameField, NameField, AccountNumberField, BalanceField; private JComboBox CheckingOrSavingsBox; private String UName, AccountNumber, Balance, Name, AccountType;

public OpenBankAccountPanel(String UName, String CustomerName) { OpenButton = new JButton("Open"); //initializing two button references

CheckingOrSavingsBox = new JComboBox(); CheckingOrSavingsBox.addItem("Choose Account Type"); CheckingOrSavingsBox.addItem("Checking"); CheckingOrSavingsBox.addItem("Savings");

UsernameField = new JTextField(15); UsernameField.setText(UName); NameField = new JTextField(CustomerName); AccountNumberField = new JTextField(15); BalanceField = new JTextField(15); BalanceField.setText("0.0");

//JLabel TypeLabel = new JLabel("Choose Account Type: "); JLabel NameLabel = new JLabel("Customer Name:"); JLabel UsernameLabel = new JLabel("Username: "); JLabel NumberLabel = new JLabel("Account Number:"); JLabel BalanceLabel = new JLabel("Opening Deposit:");

JPanel TypePanel = new JPanel(); JPanel UsernamePanel = new JPanel(); JPanel NamePanel = new JPanel(); JPanel NumberPanel = new JPanel(); JPanel BalancePanel = new JPanel();

TypePanel.add(CheckingOrSavingsBox); UsernamePanel.add(UsernameLabel); UsernamePanel.add(UsernameField); NamePanel.add(NameLabel); NamePanel.add(NameField); NumberPanel.add(NumberLabel); NumberPanel.add(AccountNumberField); BalancePanel.add(BalanceLabel); BalancePanel.add(BalanceField);

add(TypePanel); add(UsernamePanel); add(NamePanel); add(NumberPanel); add(BalancePanel);

add(OpenButton); //add the two buttons on to this panel OpenButton.addActionListener(this); //event listener registration }

public void actionPerformed(ActionEvent evt) //event handling { //Object source = evt.getSource(); //get who generates this event String arg = evt.getActionCommand(); if (arg.equals("Open")) { //determine which button is clicked UName = UsernameField.getText(); //take actions Name = NameField.getText(); AccountNumber = AccountNumberField.getText(); Balance = BalanceField.getText(); AccountType = (String)CheckingOrSavingsBox.getSelectedItem(); if (AccountType.equals("Choose Account Type")) JOptionPane.showMessageDialog(null, "Please Choose an Account Type!", "Confirmation", JOptionPane.INFORMATION_MESSAGE); else if (AccountNumber.length() != 8 ) JOptionPane.showMessageDialog(null, "Please Enter an Account Number with Exactly 8 Characters!", "Confirmation", JOptionPane.INFORMATION_MESSAGE); else { OpenBankAccountControl OBAcct_Ctrl = new OpenBankAccountControl(AccountType, AccountNumber, Name, UName, Balance); }

}

}

public class OpenBankAccountBO extends JFrame { private OpenBankAccountPanel OBA_Panel;

public OpenBankAccountBO(String UName, String CustomerName) { setTitle("Open a Bank Account"); setSize(350, 260);

//get screen size and set the location of the frame Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); int screenHeight = d.height; int screenWidth = d.width; setLocation( screenWidth / 3, screenHeight / 4);

addWindowListener (new WindowAdapter() //handle window event { public void windowClosing (WindowEvent e) { System.exit(0); } });

Container contentPane = getContentPane(); //add a panel to a frame OBA_Panel = new OpenBankAccountPanel(UName, CustomerName); contentPane.add(OBA_Panel); show(); }

}

enter paswor.... click Ingin bittan cpen openbankount dlalogbax Login oustomer name: chaudhari.D Open a Rank Arraunt Usemame cionEaneINFORNATI HEESNEEI Opening Drpost 50 Tool Cutpu O lype hene to search 9140 enter paswor.... click Ingin bittan cpen openbankount dlalogbax Login oustomer name: chaudhari.D Open a Rank Arraunt Usemame cionEaneINFORNATI HEESNEEI Opening Drpost 50 Tool Cutpu O lype hene to search 9140

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Systems On GPUs In Databases

Authors: Johns Paul ,Shengliang Lu ,Bingsheng He

1st Edition

1680838482, 978-1680838480

More Books

Students also viewed these Databases questions