Title: Program Assignment 1: Event-Driven Programming
Objectives: To practice event-driven programming using Java-based GUIs. To refresh your basic Java skills. To simulate (albeit at a very high-level) an enterprise application.
Description: Develop a Java program that creates a standalone GUI application that simulates an e-store (well call our store Nile Dot Com were not quite as big as Amazon.com!)[1] which allows the user to add in stock items to a shopping cart and once all items are included, total all costs (including tax), produces an invoice, and append a transaction log file.
Your program development must include the following steps:
- Create a main GUI containing the following components:
- An area that allows the user to input data into the application along with the descriptive text that describes each input area.
- A total of six buttons as shown below with functionality as described below.
- As illustrated below, the various buttons on the interface are only accessible at certain points during a users interaction with the e-store.
- An input file named txt. This is a comma separated file which contains the data that will be read by the application when the user makes a selection. Each line in this file contains three entries; an item id (a string), a quoted string containing the description of the item, and the unit price for one of the item (a double). A sample file is provided for you on WebCourses. Feel free to create your own input file.
- An output file (append only) named txt must be created that uniquely logs each user transaction with the e-store. The unique transaction id will be generated as a permutation of the date/time string when the transaction occurred (see below).
Restrictions:
Your source file shall begin with comments containing the following information:
/* Name: <your name goes here>
Input Specification: The file inventory.txt as described above (see example below as well).
Output Specification: Output is to appear in the specified components of the GUI and various message boxes that appear, plus the contents of the
transactions.txt log file that will be generated.
Deliverables:
- Submit a working copy of your source code (all .java files), including your inventory.txt file, via WebCourses no later than 11:59pm Sunday September 13, 2020.
- Include a file that contains screen shots, similar to those illustrated below, that shows your application in action as a user interacts with your e-store to purchase items.
- Include a screen shot of your transactions.txt file showing at least the last few transactions (similar to the one shown on the last page of this document).
- You can zip all of the above into a single folder.
Additional Information:
Shown below are example screen shots of the GUI to help illustrate how your application is to operate.
- Screen shot of the contents of an example inventory.txt file.
generates
file.
- GUI after user specifies total number of items in the order and makes a selection for item #1, but before clicking the Process Item button.
Information on the item selected/purchased has been extracted from the inventory file and written into the window on the line for item #1. Note proper currency formatting. |
- GUI after user has selected the first item and clicked the Process Item #1 button.
- When the user clicks on the Confirm Item #1 button, a confirmation information message appears on the screen.
user pressed the Process
Item button. This is the only error you will need to catch.
- User enters and processes (but has not yet confirmed) the next item in the order (which is the last one for this order).
- The GUI after the user has entered the information for all the items and confirmed the last item.
- When the user clicks the View Order button, the following message box should appear.
- When the user clicks the Finish Order button, the invoice message should be generated and displayed.
|
- The transaction file after order shown above was finished. Note the unique transaction ids based on the date and time.
DDMMYYYYHHMM.
- The transaction file after several orders have been completed. Note the unique transaction ids based on the date and time for every separate transaction. This file shows seven separate transactions.
[1] Source = https://www.wonderslist.com/top-10-largest-rivers/
Reviews
There are no reviews yet.