For this assignment you are asked to create a GUI to implement a simple interface for an ATM (Cash Machine). The interface should contain the following items: • A text area for displaying the instructions and output for the user’s interactions with the interface; • A text area for displaying user input; • Buttons to enable cash to be withdrawn or deposited, as described below. • A keypad for entering numbers, along with buttons for the functions ‘clear’, ‘enter’ and ‘quit’.
Once you have constructed the interface, you should implement the following functionalities to enable interaction with the GUI: • When the application starts, the user should enter their PIN • After 3 incorrect attempts the application should exit. • The user should then be shown their current balance • The user should then have options to • o Deposit cash • o Withdraw cash (depending on balance) o Quit (return to the start – the ‘enter pin’ screen) If the user chooses to deposit cash. o The ‘deposit’ cash option should allow the user to enter any integer cash value less than $1000. o The balance should be updated. o A ‘receipt’ for every completed transaction should be printed to the system console (i.e. using System.out.print) showing the amount and the new balance. The ‘Withdraw’ cash option should have at least the 3 options ‘withdraw $50, withdraw $100, withdraw $200’.
o These options should only be selectable if the balance is large enough. o The balance should be updated. o A ‘receipt’ for every completed transaction should be printed to the system console showing the amount and the new balance. The ‘clear’ button should reset the text area that displays the user input, giving the user an opportunity to rectify any input mistakes.
Please follow the design and implementation strategies discussed under Programming Assignment Information under Week 0. Note that documentation accounts for 50% of your grade. The format required for each programming assignment can also be viewed under Programming Assignment Information.