Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Create Java program using GUI Javafx that simulates a bank ATM. Must compile and run using eclipse. ***You MUST put the required comment information at
Create Java program using GUI Javafx that simulates a bank ATM. Must compile and run using eclipse. ***You MUST put the required comment information at the beginning of every class you write and use appropriate comments throughout the code to explain general functionality. -Bank ATM should open in a single window that is exactly of the screen width and height. --It should contain a menu bar at the top of the window that allows access to various ATM system functions. --The program should only ever exit using the menu bar. -The ATM must ask for an ATM Card (a number as input) and an ATM Pin (a number as input) that corresponds to that ATM Card --The ATM must assure proper access (login) before proceeding to the corresponding account information. --If a customer is not already in the ATM system they should be able to create an account with a new ATM Card and ATM Pin -The program must display at least 3 basic functions (withdrawal, deposit, get balance) once a customer is logged-in. --A function can be selected by either clicking on the function specific button or accessing the function from the menu items. --When a function is selected, the program should look-up the account information from an account history file and update the file based on the function performed. -Overall, there is no limit to the number of transactions that can take place during one session of use. -There are two withdrawal limits for any account --No more than $1000.00 --No more than 70% of the account balance -At any time the customer can exit the system and be assured of a successful log-out of the system. -JavaFX Interface Requirements --A single JavaFX Stage window with menu bar functionality --The main stage should only close by choosing file->close --The Menu bar should include at least: ---File, Options ,Help ---Buttons that allow functionality for: ----Login/Logout ----Withdrawal (Quick, or specified amount) Deposit ----Get Balance ----Create New Account ----Change Pin ----Transfer Funds ------Requires two ATM Cards and ATM Pin ------Print Receipt (Print to File not a printer) -------The contents of the receipt must include but not limited to: ---------The date ---------The ATM card(s) # that preform the action ---------Only the last 3 digits are visible (XXXXXXXX123) ---------The action (withdraw\deposit\transfer) ---------The current balance -------View Transaction History --All of the above functions should be available from user interface buttons as well (not all on the screen at once) --A status bar to show the current transactional history for the current session --A label box above the status bar to show the current account number and current balance that updates as transactions occur --The main GUI should not be re-sizeable --All items should contain a text-tooltip that describes the item. -Operational Requirements --There must be an entire Bank history file to track all accounts and number of transactions (Bank.txt) --The entire bank file should be formatted in the following way: ---ATM Card#<<, >>ATM Pin<<,>>number of all transactions --There must be an account history file for each created account (acct###.txt) --The individual account files should be formatted in the following way: ---ATM Card#<>ATM Pin#<> Balance<>Transaction --All account data should be looked-up from the corresponding account file ---This should be an output file named receipt-MM-DD-YY.txt ---It should be saved to the folder where the program is running. --No JAVA threads are necessary --Bank ATM must contain at least one exception handler. -Make appropriate use of classes and methods to simplify the design and support the abstraction of the various data objects and operations. Do not create many classes in one file. Try to have a separate file for each class. -You MUST put the required comment information at the beginning of every class you write and use appropriate comments throughout the code to explain general functionality
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started