The project must be done in Java Programming language”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 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 final project. This is your opportunity to show off your skills!Overall AppearanceTabs 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. General TabThe 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.)Options TabThe user should be able to change the company name in the Options tab. Customers TabThe 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.Add CustomerWhen 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.Contractor TabThe Contractor tab functions in exactly the same way as the Customers tab. The filename for contractors is contract.txt.Pools TabThe 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.Incomplete forms:Invalid input:Combination invalid input/incomplete input:Hot Tubs TabThe Hot Tubs tab allows for round and oval tubs’ volumes to be calculated. Round TubWhen 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.Oval TubWhen Oval Tub is selected, the width field is opened up:The formula used to calculate the volume is (Pi * (length/2 * width/2)) * depth.As with the Pools tab, the same error messages should be displayed in case of no input/invalid values.Temp Calc TabThe 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).