question archive We use eclipse, and my teacher has already created some code in some of the classes
Subject:Computer SciencePrice:23.99 Bought3
We use eclipse, and my teacher has already created some code in some of the classes. The methods I have to write are talked about in comments in that class. The introduction and information regarding each part is given in a docx. The rest is told in java files.
Banker User Interface Project
INTRODUCTION
You Are going to be creating a full user interface for bank tellers at Ellis National Bank. This user interface will allow tellers to assist customers with all of their needs from making transactions, managing their accounts, updating their user information and anything else described in the assignment. You have some freedom in how you design your User Interface (UI) as long as it satisfies the requirements.
STARTING THE PROGRAM
The primary logic for this program will be written in a class which extentds JFrame (BankAccountMain.java) and should utilize a CardLayout. This is where you will need to create an ArrayList which can store the bank accounts and some other methods which you may need to call in order to find certain information. You will want to pass a reference to the ArrayList to each of the JPanels for the CardLayout so that they can access the bank accounts. You should also create methods in this class which return all bank accounts in a user’s name as well as a method which returns a single account given an account number. These should be static and the method headers are provided in the BankAccountMain.java file.
One of the requirements for this program is that the program be persistent, which means that the data is stored across multiple runs. In order to accomplish this, all BankAccount information must be stored in a file. Your file should be called accountInfo.txt and does not need to be created prior to the first run of the program. When the program runs, it should try to open the file accountInfo.txt and if it exists, should read all information in the file and create all appropriate BankAccounts.
The format of the file should be such that each line represents one single bank account and should have all necessary information to recreate the exact same account in the exact same state. When you save the state, you can simply write all of the necessary information (including type of account) on a line separated by a comma, semi-colon, tab or any other separator that works for you.
MENU
The Frame should have a menubar which will consist of the following top-level menus:
Accounts, Transactions, Dashboard
Accounts
Should have three menuItems all navigating to a new page: User Info, Add Account, Close Account
Transactions
Should have four menuItems each navigating to a different page: Deposit, Withdraw, Transfer, Get Account Info
Dashboard
This is a menuItem added directly to the menubar which navigates back to the dashboard
DASHBOARD
The program should begin in a dashboard which Simply Displays the total number of active bank accounts, the total number of checking accounts, the total number of savings accounts, and the total amount of money deposited in the bank. There will also be a single JButton which should have the text “End of Month Update”. If this button is clicked, a JOptionPane should pop up asking for a password. If the user enters the correct password (we will just hardcode the password to be “password” which is a terrible way to do it) the endOfMonthUpdate method will be called for all accounts. There should also be a JButton which has the text “Write All Accounts” which should overwrite the accounts.txt file with all of the current account information.
USER INFO
This window will open with textFields for all of the user information in a bank account including the name and all address fields. All should be initially disabled (enabled = false) except the name field. There should be a button which should have the text “Find” which is enabled. Once a customer name is entered and “Find” is clicked, ALL accounts in that person’s name should be retrieved and each textField should be populated with the correct user information. There should also be a button which has the text “Edit”. If this is clicked all of the textFields should be enabled and become editable, except Name which should become disabled. There should appear buttons which say update and cancel that appear. This should allow the user to update their contact info and should do so on ALL of their accounts. Cancel should make no changes and return to the previous state of name enabled and all other textFields disabled.
ADD ACCOUNT
This window will prompt for all information necessary to create a new bank account. If accounts already exist in the person’s name, you must ensure that the contact information (address) matches exactly, otherwise no account should be made and a JOptionPane should display a message making the user aware that they may need to update their info.
CLOSE ACCOUNT
This should bring up a window where a customer may close an account. In order to close an account, the account number and name must be entered exactly correctly and a JOptionPane should ask if you are sure that you wish to close the account.
DEPOSIT
This window should take account number and amount to deposit in text fields and have a button to perform the deposit. Once complete all fields should be emptied and the new balance should be displayed in JOptionPane.
WITHDRAW
This window should take account number and amount to withdraw in text fields and have a button to perform the withdraw. Once complete all fields should be emptied and the new balance should be displayed in JOptionPane.
TRANSFER
This window should take account number from, account number to, and amount in text fields and have a button to perform the withdraw. Once complete both balances should be displayed in JOptionPane and all fields should be empty.
GET ACCOUNT INFO
This window should take the user’s name in a text field as well as a button which says “Search”. When clicked there should be a text area (Scrollable is preferred if necessary) which displays all of the user’s account numbers, type of account, and their balances.
Note: Each of these screens should be an individual class which extends JPanel. Each should take an argument in the constructor for the BankAccount ArrayList so they can all reference the same list
Purchased 3 times