I am having a real hard time with this java assignment. Any help or tips will be great!!!
This is the requirements:
Final Project Overview
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!
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 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.
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).
Customer Comment section. The customer should be able to type a comment in and submit it.
This is what I have so far:
public class FinalProject extends JFrame
private JLabel textPrompt;
private JTextArea inputText;
private JLabel keyPrompt;
private JTextField inputKey;
super( "Final Project " );
JTabbedPane tab = new JTabbedPane();
// constructing the first panel
JLabel l1 = new JLabel( "Pool" );
JPanel p1 = new JPanel();
tab.addTab( "Pool", null, p1, " Pool" );
// constructing the second panel
JLabel l2 = new JLabel("Hot Tube");
JPanel p2 = new JPanel();
//Pi * (length * width)^2) * depth
tab.addTab( "Hot Tube", null, p2, " Hot Tube" );
// constructing the third panel
JLabel l3 = new JLabel( " Temperature Change!" );
JPanel p3 = new JPanel();
tab.addTab( "Temperature Change", null, p3, " Temperature Change" );
// constructing the fourth panel
JLabel l4 = new JLabel( "Customer" );
JPanel p4 = new JPanel();
tab.addTab( "Customer", null, p4, " Customer" );
// constructing the fifth panel
JLabel l5 = new JLabel( "General" );
JPanel p5 = new JPanel();
tab.addTab( "General", null, p5, " General" );
//constructing the last panel
JLabel l6 = new JLabel( "Manufacture");
JPanel p6 = new JPanel();
tab.addTab( "Manufacture", null, p6, " Manufacture" );
//constructing the Comment panel
JLabel l7= new JLabel("Customer Comments?");
JPanel p7 = new JPanel();
tab.addTab ("Customer Comments?",null,p7,"Customer Comments?");
textPrompt = new JLabel("Customer Comments here please!");
inputText = new JTextArea(5, 15);
//instantiate two panels, one for input and output
Panel inputPanel = new Panel();
//add components to window
container = getContentPane();
//use borderlayout to position our two i/o panels
//add components to panels
//add panels to our primary borderlayout
// add JTabbedPane to container
getContentPane().add( tab );
setSize( 400, 250 );
setVisible( true );
public static void main( String args )
FinalProject demo = new FinalProject();
demo.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );