CIS355A Week 7 Final Project Landscape architect GUI Java program
The importance of a graphical user interface in programming is paramount in being successful in the business industry. This project incorporates GUI techniques with other tools that you have learned about in this class.
Here is your assignment: You work for a Landscape architect. They have asked you to be a part of their team as they need a computer programmer, analyst, and designer to aid them in calculating engineering specification. Specifically, you have been assigned to the Pools, Hot Tubs, and Spas section of their landscaping team. Your skills will be needed in creating a GUI program that calculates engineering specifications.
This assignment is due in Week 7, but it is suggested that you begin working on the project in Week 5, which should give you ample time to complete the project. You will find that all the lectures, Quick Test Programs, and Lab assignments will prepare you for the Course Project.
Minimum Requirements for the Java Program(s) (Due Week 7)
This example would be the bare minimum to obtain a passing grade (no more than a 70%).
After each calculation, the collected information and the calculated volume will be saved into a file. You will then add a function to retrieve the input and calculation history from the file and display it on the screen.
Sample Extended Requirements (will be uploaded separately)
The following screenshots provide a sample of what is possible and could lead to a project worth the maximum grade of 100%. Something to think about! Do not think this is what you have to do to get the maximum number of points. It is just a sample! You are only bound by your programming ability. Please do not try and do more than you are capable of. Think, plan, design and code YOUR project. This is your opportunity to show off your skills!
Course Project Examples
This document provide a sample of what is possible, and could lead to a project worth the maximum grade of 100% Something to think about! Do not think this is what you have to do to get the maximum number of points. It is just a sample! You are only bound by your programming ability. Please do not try and do more than you are capable of. Think, plan, design and code YOUR project. This is your opportunity to show off your skills!
Tabs should be used in this application. At a minimum, 4 fully functioning tabs should be designed – the Pools tab, the Hot Tubs tab, the customer tab and the Contractors tab.
The first tab simply displays the current date. An Exit button is provided in this tab, as well as all others. (For all buttons throughout the application, mnemonic values are set.)
The user should be able to change the company name in the Options tab. If the user returns to this tab later, the name should be displayed in the title of the window frame.
The Customers tab allows the user to add new customers and checks for the existence of the customer.txt file in the directory where the program is located. If the file does not exist, the program tells the customer in the Message Area at the bottom. The Customer Display will give a brief explanation of the user’s options.
When the user clicks Add Customer, an entry window should appear. If the customer.txt file does not exist, the program tells the customer in the Message Area at the bottom. In this window, the user can enter customers; the information entered will be stored as entered. Clicking Add Customer will attempt to write the information to customer.txt. The user should receive an indication when a customer is added successfully. After a customer has been added and the Customers window is closed, the user can click Refresh to refresh the Customer Display area, which will display the contents of the customer.txt file.
The Contractor tab functions in exactly the same way as the Customers tab. The filename for contractors is contract.txt.
The Pools tab should perform a calculation. After a length, width, and depth have been entered, the user can click Calculate Volume and the program will display the calculated volume (length * width * depth in cubic feet). Exception handling is used here to catch exceptions, including incomplete forms, invalid entries, and combinations of these
Invalid input: Combination invalid input/incomplete input:
Hot Tubs Tab
The Hot Tubs tab allows for round and oval tubs volumes to be calculated.
When Round Tub is selected, the user cannot fill out the width field since we’re dealing with a circle. After filling out the length and depth fields, the Calculate Volume button will display the volume (Pi * ((length/2)^2) * depth). The width is automatically set to the same value as the length, and the user is informed. Again, exception handling is used here.
When Oval Tub is selected, the width field is opened up:
The formula used to calculate the volume is (Pi * (length * width)^2) * depth.
As with the Pools tab, the same error messages should be displayed in case of no input/invalid values.
Temp Calc Tab
The Temp Calc tab offers a temperature converter (Celsius <-> Fahrenheit). The user enters a temperature, and selects either C or F. The field after the Result display will display the opposite (if C is selected, field will display F; if F is selected, field will display C).
No input: The Length Calc tab offers the user a length converter (millimeters, meters, yards, feet, and inches).