Вы находитесь на странице: 1из 30

BANKER DATABASE SYSTEM

A PROJECT REPORT Submitted by

Chitra Dhaka
In partial fulfillment for the award of the degree Of

BACHELOR OF TECHNOLOGY
IN

INFORMATION TECHNOLOGY

HCL INFOSYSTEMS LIMITED, F-214, G-215 EPIP, Sitapura, Jaipur - 302022 Rajasthan (India)

www.hclinfosystems.in

August, 2011

Acknowledgement

I am feeling extremely satisfied presenting this project report entitled Banker Database System. I take this opportunity to express my acknowledgement and deep sense of gratitude to the individuals for rendering valuable assistance and gratitude to me. Their input have played a vital role in success of this project & formal piece of acknowledgement may not be sufficient to express the feeling of gratitude towards people who have helped me in successfully completion of my training. I would like to wish my sincere thanks to my project guide Mr. Yogesh Prajapat for his keen interest and giving valuable guidance at every stage of this project. Later on I would like to confer the flower of acknowledgement to the company guide Mr. Vinay Prakash Dwivedi (senior project manager at HCL Infosystems, Jaipur), who is my external guide. I take this opportunity to thank all respondents who spared their precious time to provide me with valuable input for project without which it would have not been possible. I firmly believe that there is always a scope of improvement. I welcome any suggestions for further enriching the quality of this report.

Preface
Banker database system is an application which uses a database to perform bank transactions, enables creating new accounts along with their initial balance, withdrawing or depositing to an account and also displaying the account information. This project can help the various banks to perform all the transactions provided by the application. Engineering is not only a theoretical study but it is a implementation of all we study for creating something new and making things more easy and useful through practical study. For me, it is very knowledgeable and interesting as well. I have chosen Java SE as front end because it provides very good graphical user interface and Microsoft Office Access as back end tool.

www.hclinfosystems.in HCL Infosystems Ltd is Indias premier hardware, services and ICT systems Integration Company offering a wide spectrum of ICT products that includes Computing, Storage, Networking, Security, Telecom, Imaging and Retail. HCL is a one-stop-shop for all the ICT requirements of an organization. India's leading System Integration and Infrastructure Management Services Organization, HCL has specialized expertise across verticals including Telecom, BFSI, eGovernance & Power. HCL has India's largest distribution and retail network, taking to market a range of Digital Lifestyle products in partnership with leading global ICT brands, including Apple, Cisco, Ericsson, Kingston, Kodak, Konica Minolta, Microsoft, Nokia, Toshiba, and many more. HCL Infosystems (HCLI) draws its strength from 30 years of experience in handling the ever changing IT scenario , strong customer relationships, ability to provide the cutting edge technology at best-value-for-money and on top of it, an excellent service & support infrastructure. Today, HCL is country's premier information enabling company. It offers one-stop-shop convenience to its diverse customers having an equally diverse set of requirements. Technology Leadership: HCL Infosystems is known to be the harbinger of technology in the country. Right from its inception it has attempted to pioneer the technology introductions in the country either through its R&D or through partnerships with the world technology leaders. Using its own R&D it has:

Created its own UNIX & RDBMS capability (in 80s). Developed firewalls for enterprise & personal system security. Launched its range of enterprise storage products. Launched its range of networking products.

HCL strive to understand the technology from the view of supporting it post installation as well. This is one of the key ingredients that go into its strategic advantage.

Contents
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. INTRODUCTION METHODOLOGY ADVANTAGES & GOALS OF CURRENT SYSTEM TOOLS & TECHNOLOGY DESCRIPTION OF FRONT END & BACK END DATA FLOW DIAGRAM SNAP SHOTS OF FRAMES DATABASE STRUCTURE FOR BDS SOURCE CODE LIMITATIONS FUTURE ASPECTS CONCLUSION

INTRODUCTION

Banker database system:


Banker database system is an application which uses a database to perform bank transactions. We used Java as front end and Microsoft Office Access as back end. This project has a main class that brings up a class and a file menu that display about banker. Main class inherits and calls all other classes through the pressing of corresponding buttons and adds records to the program. The main class enables withdrawing or depositing to an account and displays the account information. Here, we also have an account master class through which new accounts can be added to the database along with their initial balance. The objective of the project is to develop a GUI based automated system, which will cover all the information related to the Account holder. For example: creating new account, deposit or withdrawal, balance information.

Features:
Banker database system enables creating new accounts along with their initial balance, withdrawing or depositing to an account and also displaying the account information. The entire database is stored in Microsoft Office Access which is familiar to everyone and anyone can access it easily. So, the banker database system is user friendly.

METHODOLOGY
The methodology used in banker database system includes four steps: 1. 2. 3. 4. Planning and aims Implementation Evaluation Feedback and improvement procedures

ADVANTAGES & GOALS OF CURRENT SYTEM


Banker database system is an application which uses a database to perform bank transactions. Advantages of banker database system: 1. Application takes less time & gives better results. 2. It reduces the tedious jobs, like (Long procedures, Up to Date Information). 3. It will improve the banker database system, since all the information is available whenever required. 4. It provides quick processing thus helps in transaction. 5. It provides accurate output. 6. It quickly responds to queries. 7. The amount of paper work is reduced.

Goals of banker database system:


1. Immediate retrieval of information: The main objective of the system is to provide for quick and efficient retrieval of information. Any type of information would be available to the user whenever he requires. 2. Immediate storage of information: In the proposed system, it will be easy to store information at any given time at the correct places. The location of storage would be easily available and user will face no difficulty.

3. Fast computation of information: The computation of information will be quite fast in the proposed system. Not only mathematical calculations, but also logical comparisons will be quick in the new system. 4. Planned approach toward working: The working in the service center information system will be well planned and organized. The data will be stored properly in the data store, which will help in retrieval of information as well as in its storage. 5. Accuracy: The level of accuracy in the proposed system would be higher. All operations and computations would be done correctly and this will ensure that whatever information is coming from the center is accurate. 6. Reliability: The reliability of the proposed system would be high due to the above stated reasons.

TOOLS & TECHNOLOGY


Operating system: Windows 2k family Front End: Java SE Back End: Microsoft Office Access RAM: 128MB Hard disk: 5GB

DESCRIPTION OF FRONT END & BACK END


We have used Java SE as front end tool & Microsoft Office Access as back end tool described as follows:

Java SE:
Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use. In practical terms, Java SE consists of a virtual machine, which must be used to run Java programs, together with a

set of libraries (or "packages") needed to allow the use of file systems, networks, graphical interfaces, and so on, from within those programs. Advantages of Java SE: It is simple, object oriented and familiar. It is robust and secure. It is architecture-neutral and portable. It has high performance. It is interpreted, multithreaded and dynamic. It is available with documentation in many languages.

Microsoft Office Access:


Microsoft Office Access is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of applications, included in the Professional and higher editions or sold separately. Access stores data in its own format based on the Access Jet Database Engine. It can also import or link directly to data stored in other applications and databases. Software developers and data architects can use Microsoft Access to develop application software, and "power users" can use it to build simple applications. Like other Office applications, Access is supported by Visual Basic for Applications, an object-oriented programming language that can reference a variety of objects including DAO (Data Access Objects), ActiveX Data Objects, and many other ActiveX components. Visual objects used in forms and reports expose their methods and properties in the VBA programming environment, and VBA code modules may declare and call Windows operating-system functions.

Advantages of Microsoft Office Access: Get better results faster with the Office Fluent user interface. Get started quickly using prebuilt solutions. Create multiple reports with different views of the same information. Create tables quickly without worrying about database complexity. Enjoy new field types for even richer scenarios.

Collect and update your information directly from the source. Share your information with Microsoft Windows SharePoint Services. Track Windows SharePoint Services lists with the rich client capabilities of Office Access 2007. Access and use information from multiple sources.

DATA FLOW DIAGRAM


INFORMATION SUBMIT

DATABASE

INFORMATION SHOW

SNAP SHOTS OF FRAMES


1. About Banker

2. Main Menu

3. Accounts Master

4. Adding information to database

5. Deposits/Withdrawals

6. Display Balance

DATABASE STRUCTURE FOR BDS


1. Master

2. Transaction

SOURCE CODE
/**Banker.java*/
package bank; /** * <p>Title: Banker</p> * <p>Description: Application which uses a database to perform bank transactions</p> * <p>College: Baldevram Mirdha Institute of Technology, Jaipur</p> * @Chitra Dhaka, Priyanka * @2008-2012 */ import java.awt.*; import java.sql.*; import java.util.*; import java.awt.event.*; import javax.swing.*; import bank.MainMenu; public class Banker extends JFrame{ private JMenu fileMenu; // Declare Menu fileMenu private JTextArea outputTextArea; public Banker() { super ("Banker"); try { /////// File Menu /////// fileMenu = new JMenu("File"); fileMenu.setMnemonic('F'); JMenuItem aboutItem = new JMenuItem("About Banker..."); aboutItem.setMnemonic('A'); String output; outputTextArea = new JTextArea(); // Instantiate outputTextArea // Declare string output for aboutbox and add it to outputTextArea output = new String("Programmer: \n\tChitra Dhaka &\n\tPriyanka\n\tBatch: 2008-2012\n\tB.M.I.T. Jaipur"); outputTextArea.setText(output); outputTextArea.setEditable(false); outputTextArea.setBackground(Color.lightGray); outputTextArea.setFont(new Font("Ariel",Font.PLAIN,12));

////////// Show About Box on aboutItem pressed /////////// aboutItem.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent event){ JOptionPane.showMessageDialog(Banker.this,outputTextArea, "About Banker",JOptionPane.PLAIN_MESSAGE); } } ); //////////////////////////////// fileMenu.add(aboutItem); //// Add aboutItem to fileMenu JMenuItem exitItem = new JMenuItem("Exit"); exitItem.setMnemonic('X'); ///////// Exit on exitItem Pressed /////////// exitItem.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent event) { System.exit(0); } } ); fileMenu.add(exitItem); /// Add exitItem to fileMenu JMenuBar bar = new JMenuBar(); setJMenuBar(bar); bar.add(fileMenu); setSize(400,400); setVisible(true); setLocation(500,200); MainMenu bank1 = new MainMenu(); // Call MainMenu bank1.setResizable(false); // set MainMenu resizable to false } catch(Exception e) { e.printStackTrace(); } } /////////// Main method /////////////// public static void main(String args[]) { ///// Set lookandfeel to windowslookandfeel ////// try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName ()); } catch(Exception e) { System.out.println("Error is " + e.getMessage()); } Banker application = new Banker(); application.setResizable(false); application.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } }

/**AccMaster.java*/
package bank; import import import import java.awt.*; java.sql.*; java.awt.event.*; javax.swing.*;

public class AccMaster extends JFrame{ /////// Declaration of Components /////// private JTextField accNoTxt, opnBalTxt; private JPanel panel1; private JLabel accNoLbl, opnBalLbl,accMasterLbl; private JFrame frame; private JButton btn; //////////////////////////////////////// public AccMaster() { // Set up GUI super ("Accounts Master"); // Set Frame Caption // Get content pane and set its layout Container container = getContentPane(); container.setLayout(new FlowLayout()); // Instantiate panel and set its layout panel1 = new JPanel(); panel1.setLayout(new GridLayout(6,1,5,5)); //// Add Components to panel1 //// accMasterLbl = new JLabel("Accounts Master"); panel1.add(accMasterLbl);

accNoLbl = new JLabel("Enter Account No."); panel1.add(accNoLbl); accNoTxt = new JTextField(15); panel1.add(accNoTxt); opnBalLbl = new JLabel("Enter Opening Balance."); panel1.add(opnBalLbl); opnBalTxt = new JTextField(15); panel1.add(opnBalTxt); btn = new JButton("Ok"); panel1.add(btn); ///////////////////////////////// //////// Add handlers to opnBalTxt //////// EventHandler handler = new EventHandler(); opnBalTxt.addActionListener(handler); /////////////////////////////////////////// btn.addActionListener(handler); // Add panel1 to container container.add(panel1,BorderLayout.CENTER); setSize(250,200); setVisible(true); setLocation(575,320); } // Inner class for EventHandler private class EventHandler implements ActionListener{ // Handles textbox event public void actionPerformed(ActionEvent event) { // If Enter is pressed when opnBalTxt box has focus if (event.getSource() == btn && opnBalTxt.getText() != null && opnBalTxt.getText() != " ") { /// Confirm addition of information to database int choice = JOptionPane.showConfirmDialog(frame, "Add this information to the database?", "Banker",JOptionPane.YES_NO_OPTION); // If YES if(choice == JOptionPane.YES_OPTION) { try {

// load database driver class Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); // connect to database Connection connection = DriverManager.getConnection("jdbc:odbc:Bank"); // create Statement to query database Statement statement = connection.createStatement(); // Add new acount to Master table Statement stmt = connection.createStatement(); stmt.executeUpdate( "INSERT INTO Master " + "VALUES ('" + accNoTxt.getText() + "', " + Long.parseLong(opnBalTxt.getText())+ ")"); JOptionPane.showMessageDialog(null,"Data Entered into Database Successfully"); opnBalTxt.setText(" "); accNoTxt.setText(" "); statement.close(); // Close statement connection.close(); // Close connection setVisible(false); // Hide frame } // end try

// detect problems interacting with the database catch ( SQLException sqlException ) { JOptionPane.showMessageDialog( null, sqlException.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } catch ( ClassNotFoundException classNotFound ) { JOptionPane.showMessageDialog( null, classNotFound.getMessage(), "Driver Not Found", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } catch(Exception e) { }

// If NO else{ opnBalTxt.setText(" "); accNoTxt.setText(" "); setVisible(false); // Hide Frame } } } } // End EventHandler class } // End class AccMaster

/**depositDraw.java*/
package bank; import import import import java.awt.*; java.sql.*; java.awt.event.*; javax.swing.*;

public class depositDraw extends JFrame{ /////// Declaration of Components and global variables /////// private JLabel depositsLbl, accNoLbl,transAmountLbl,transTypeLbl; private JTextField accNoTxt,transAmountTxt,transTypeTxt; private JPanel panel1; private JFrame frame; private JButton btn; private int transactionType; // Transaction type ////////////////////////////////////////////////////////////// public depositDraw(int transactionType1) { super("Deposits / Withdrawals"); // Assign trasactionType1 to global variable transactionType transactionType = transactionType1; // Get content pane and set its layout Container container = getContentPane(); container.setLayout(new FlowLayout()); // Instantiate panel and set its layout

panel1 = new JPanel(); panel1.setLayout(new GridLayout(8,1,5,5)); //// Add Components to panel1 //// depositsLbl = new JLabel("Deposits / Withdrawals"); panel1.add(depositsLbl); accNoLbl = new JLabel("Enter Account No."); panel1.add(accNoLbl); accNoTxt = new JTextField(15); panel1.add(accNoTxt); transAmountLbl = new JLabel("Transaction Amount"); panel1.add(transAmountLbl); transAmountTxt = new JTextField(15); panel1.add(transAmountTxt); transTypeLbl = new JLabel("Transaction Type"); panel1.add(transTypeLbl); ///////////////////////////////// // Set transTypeTxt textbox to transactionType1 and // setEditable property to false transTypeTxt = new JTextField(15); transTypeTxt.setText(Integer.toString(transactionType1)); transTypeTxt.setEditable(false); panel1.add(transTypeTxt); btn = new JButton("Ok"); panel1.add(btn); // Add panel1 to container container.add(panel1,BorderLayout.CENTER); /////// Add handlers to components /////// EventHandler handler = new EventHandler(); accNoTxt.addActionListener(handler); transAmountTxt.addActionListener(handler); transTypeTxt.addActionListener(handler); btn.addActionListener(handler); ////////////////////////////////////////// setSize(250,250); setVisible(true); setLocation(575,320); } // Inner class for EventHandler private class EventHandler implements ActionListener{ // Handles event public void actionPerformed(ActionEvent event){

// If Enter is pressed when transAmountTxt box has focus if (event.getSource() == btn) { if (transAmountTxt.getText() != null && transAmountTxt.getText() != " "){ /// Confirm addition of information to database int choice = JOptionPane.showConfirmDialog(frame,"Are you sure?", "Banker",JOptionPane.YES_NO_OPTION); if(choice == JOptionPane.YES_OPTION) { double transaction_amount; transaction_amount = Double.parseDouble(transAmountTxt.getText()); double current_balance; //////////////////////////////////////////////////////////////// /////////// try { // load database driver class Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); // connect to database Connection connection = DriverManager.getConnection("jdbc:odbc:Bank" ); Statement stmt = connection.createStatement(); ResultSet resultSet = stmt.executeQuery( "SELECT Current_Balance FROM Master WHERE Account_No + accNoTxt.getText() + "'"); // process query results StringBuffer results = new StringBuffer(); ResultSetMetaData metaData = resultSet.getMetaData(); int numberOfColumns = metaData.getColumnCount(); while ( resultSet.next() ) { for ( int i = 1; i <= numberOfColumns; i++ ) { results.append( resultSet.getObject( i )); } } stmt.close(); connection.close();

= '"

String current_balance1 = results.toString(); current_balance = Double.parseDouble(current_balance1); if (transactionType == 2)// Withdrawal { if (transaction_amount <= 15000)// If transaction_amount is <= $15000 { // U user tries to draw more than he has if (current_balance > transaction_amount){ try { // load database driver class Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); // connect to database Connection connection1 = DriverManager.getConnection("jdbc:odbc:Bank" ); Statement stmt1 = connection1.createStatement(); //Statement stmt1 = connection.createStatement(); stmt1.executeUpdate( "INSERT INTO Transaction " + "VALUES ('" + accNoTxt.getText() + "', " + String.valueOf(transAmountTxt.getText())+ "," + transactionType + ")"); double answer = current_balance transaction_amount; String updateString = "UPDATE Master " + "SET Current_Balance = "+ answer + " " + "WHERE Account_No LIKE '" + accNoTxt.getText() + "'"; stmt1.executeUpdate(updateString); stmt1.close(); connection1.close(); JOptionPane.showMessageDialog(null,"Data Entered into Database Successfully"); accNoTxt.setText(" "); transAmountTxt.setText(" "); setVisible(false); } catch ( SQLException sqlException ) { JOptionPane.showMessageDialog( null, sqlException.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); }

catch ( ClassNotFoundException classNotFound ) { JOptionPane.showMessageDialog( null, classNotFound.getMessage(), "Driver Not Found", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } } else{ JOptionPane.showMessageDialog(null,"You Cannot Draw more than you have."); accNoTxt.setText(" "); transAmountTxt.setText(" "); setVisible(false); } } else{ JOptionPane.showMessageDialog(null,"You cannot withdraw more than $15,000."); accNoTxt.setText(" "); transAmountTxt.setText(" "); setVisible(false); } } else if (transactionType == 1){ // Deposit try { // load database driver class Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); // connect to database Connection connection2 = DriverManager.getConnection("jdbc:odbc:Bank" ); Statement stmt2 = connection2.createStatement(); stmt2.executeUpdate( "INSERT INTO Transaction " + "VALUES ('" + accNoTxt.getText() + "', " + String.valueOf(transAmountTxt.getText())+ ","+ transactionType + ")"); //String current_balance1 = results.toString(); // long current_balance = String.valueOf(current_balance1); double answer = current_balance + transaction_amount; String updateString = "UPDATE Master " +

"SET Current_Balance = "+ answer + " " + "WHERE Account_No LIKE '" + accNoTxt.getText() + "'"; stmt2.executeUpdate(updateString); JOptionPane.showMessageDialog(null,"Data Entered into Database Successfully"); accNoTxt.setText(" "); transAmountTxt.setText(" "); stmt2.close(); connection2.close(); setVisible(false); } catch ( SQLException sqlException ) { JOptionPane.showMessageDialog( null, sqlException.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } catch ( ClassNotFoundException classNotFound ) { JOptionPane.showMessageDialog( null, classNotFound.getMessage(), "Driver Not Found", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } } } // end try // detect problems interacting with the database catch ( SQLException sqlException ) { JOptionPane.showMessageDialog( null, sqlException.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } catch ( ClassNotFoundException classNotFound ) { JOptionPane.showMessageDialog( null, classNotFound.getMessage(), "Driver Not Found", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } }

else{ accNoTxt.setText(" "); transAmountTxt.setText(" "); setVisible(false); } } } } } }

/**DispBal.java*/
package bank; import import import import java.awt.*; java.sql.*; java.awt.event.*; javax.swing.*;

public class DispBal extends JFrame{ /////// Declaration of Components /////// private JTextField accNoTxt, balanceTxt; private JPanel panel1; private JLabel accNoLbl, balanceLbl,dispBalLbl; private JButton btn; //////////////////////////////////////// public DispBal() {// Set up GUI super ("Display Balance");// Set Frame Caption // Get content pane and set its layout Container container = getContentPane(); container.setLayout(new FlowLayout()); // Instantiate panel and set its layout panel1 = new JPanel(); panel1.setLayout(new GridLayout(6,1,5,5)); //// Add Components to panel1 //// dispBalLbl = new JLabel("Display Balance"); panel1.add(dispBalLbl); accNoLbl = new JLabel("Enter Account No."); panel1.add(accNoLbl);

accNoTxt = new JTextField(15); panel1.add(accNoTxt); balanceLbl = new JLabel("Display Current Balance."); panel1.add(balanceLbl); balanceTxt = new JTextField(15); panel1.add(balanceTxt); btn = new JButton("Ok"); ///////////////////////////////// //////// Add handlers to opnBalTxt //////// EventHandler handler = new EventHandler(); accNoTxt.addActionListener(handler); balanceTxt.addActionListener(handler); btn.addActionListener(handler); panel1.add(btn); /////////////////////////////////////////// // Add panel1 to container container.add(panel1,BorderLayout.CENTER); setSize(220,200); setVisible(true); setLocation(590,320); } private class EventHandler implements ActionListener{ public void actionPerformed(ActionEvent event) { if (event.getSource() == btn) //////////////////////////////////////////////////////////////// /////////// if (accNoTxt.getText() != null && accNoTxt.getText() != " "){ try { // load database driver class Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); // connect to database Connection connection = DriverManager.getConnection("jdbc:odbc:Bank"); // create Statement to query database Statement statement = connection.createStatement(); // query database ResultSet resultSet = statement.executeQuery(

"SELECT Current_Balance FROM Master WHERE Account_No = '" + accNoTxt.getText() + "'"); // process query results StringBuffer results = new StringBuffer(); ResultSetMetaData metaData = resultSet.getMetaData(); int numberOfColumns = metaData.getColumnCount(); while ( resultSet.next() ) { for ( int i = 1; i <= numberOfColumns; i++ ) { results.append( resultSet.getObject( i )); } } statement.close(); connection.close(); } balanceTxt.setText(results.toString()); // end try

// detect problems interacting with the database catch ( SQLException sqlException ) { JOptionPane.showMessageDialog( null, sqlException.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } catch ( ClassNotFoundException classNotFound ) { JOptionPane.showMessageDialog( null, classNotFound.getMessage(), "Driver Not Found", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } }}}}

/**MainMenu.java*/
package bank; import import import import java.awt.*; java.awt.event.*; javax.swing.*; bank.*;

public class MainMenu extends JFrame{ /////// Declaration of Components /////// private JButton accMasterBtn, depositsBtn, withDrawalsBtn,dispBalBtn; private JLabel mainLbl; private JPanel panel1; //////////////////////////////////////// public MainMenu() { super("Main Menu"); // Get contentPane and set its layout Container container = getContentPane(); container.setLayout(new FlowLayout()); panel1 = new JPanel(); mainLbl = new JLabel(" Main Menu"); panel1.add(mainLbl);// add mainLbl to panel1 accMasterBtn = new JButton("Accounts Master"); panel1.add(accMasterBtn);// add accMasterBtn to panel1 depositsBtn = new JButton("Deposits"); panel1.add(depositsBtn);// add depositsBtn to panel1 withDrawalsBtn = new JButton("Withdrawals"); panel1.add(withDrawalsBtn);// add withDrawalsBtn to panel1 dispBalBtn = new JButton("Display Balance"); panel1.add(dispBalBtn); // add disoBalBtn to panel1 panel1.setLayout(new GridLayout(5,1,10,10)); container.add(panel1,BorderLayout.CENTER); // Add panel1 to container ////// AddActionListner to components /////// ButtonHandler handler = new ButtonHandler(); accMasterBtn.addActionListener(handler); depositsBtn.addActionListener(handler); withDrawalsBtn.addActionListener(handler); dispBalBtn.addActionListener(handler); setSize(300,230); setVisible(true); setLocation(550,280); } private class ButtonHandler implements ActionListener{ public void actionPerformed(ActionEvent event) {

if(event.getSource() == accMasterBtn) { AccMaster acc = new AccMaster(); /// Call AccMaster Frame acc.setResizable(false); } else if(event.getSource() == depositsBtn) { depositDraw dep = new depositDraw(1); /// Call AccMaster Frame dep.setResizable(false); } else if(event.getSource() == withDrawalsBtn) { depositDraw dep = new depositDraw(2); /// Call AccMaster Frame dep.setResizable(false); } else if(event.getSource() == dispBalBtn) { DispBal bal = new DispBal(); /// Call AccMaster Frame bal.setResizable(false); } }}}

LIMITATIONS
Although I have tried to do the best & tried to do all the things that are possible in the system, but still the system contains some of the limitations because of time constraints. I am still working on this application and my next goal is to remove these limitations and develop a more efficient and elegant system.

FUTURE ASPECTS
Banker database system doesnt end here; it is just a starting, we will look forward for its future development through more and more challenging projects and also foraying into related areas in with innovative ideas.

CONCLUSION
Banker database system provides a graphical user interface to the end user so that he/she can easily interact with the system and perform all the transactions provided by the system with comfort and its our main goal to provide ease to the end user, customers comfort is the main priority of this system.

Вам также может понравиться