STEP 1: Inheritance Test (20 points)
Write a program called InheritanceTest.java to support an inheritance hierarchy for class Point-Square-Cube. Use Point as the superclass of the hierarchy. Specify the instance variables and methods for each class. The private variable of Point should be the x-y coordinates. The private data of Square should be the sideLength. The private data of Cube should be depth. Each class must provide applicable accessor, mutator, and toString() methods for manipulating private variables of each corresponding class. In addition, the Square class must provide the area() and perimeter() methods. The Cube must provide the area() and volume() methods.
Write a program that instantiates objects of your classes, ask the user to enter the value for x, y, and sideLength, test all instance methods and outputs of each object’s perimeter, area, and volume when appropriate.
Grading Rubric
InheritanceTest
Points
Description
Standard header included
1
Must contain program’s name, student name, and description of the program
Program compiles
1
Program does not have any error
Program executes
1
Program runs without any error
Point class created
3
Class contains accessor, mutator, and toString methods
Square class created
3
Class contains accessor, mutator, toString, perimeter, and area methods
Cube class created
3
Class contains accessor, mutator, toString, area, and volume methods
InheritanceTest class created
4
Test class asks user for input of x, y, and sideLength and tests all instance methods
Correct output is displayed
4
Test class produces correct output showing all values corresponding to each object
Subtotal
20
STEP 2: DayGui (10 points)
Write a program called DayGui.java that creates a GUI having the following properties
Object
Property
Setting
JFrame
Name
Caption
Layout
mainFrame
Messages
FlowLayout
JButton
Name
Caption
Mnemonic
cmdGood
Good
G
JButton
Name
Caption
Mnemonic
cmdBad
Bad
B
Add individual event handlers to your program so that when a user clicks the Good button, the message “Today is a good day!” appears in a dialog box, and when the Bad button is clicked, the message “I’m having a bad day today!” is displayed. The following tutorial shows you much of the code solution. Feel free to use the tutorial, but make changes so that you are not simply copying the tutorial code for your entire solution. To make this different from the tutorial, change the colors of the buttons and panel. Also, add this application to a tabbed pane along with the program you will complete in the next step, Step 3. The following tutorials will likely be useful as you work to complete this step:
JTabbedPane
Tutorial to Write Your First GUI
Grading Rubric
DayGui
Points
Description
Standard header included
1
Must contain program’s name, student name, and description of the program
Program compiles
1
Program does not have any error
Program executes
1
Program runs without any error
DayGui class created
1
Class DayGui was created which contains the required properties
cmdGood JButton created along with the event handler
1.5
The Good button shows on the application and when pressed the appropriate message displays on a separate window
cmdBad JButton created along with the event handler
1.5
The Bad button shows on the application and when pressed the appropriate message displays on a separate window
Application contains required changes and displays the correct output
3
Application appears as one of the tabs in a tabbed application and buttons and panel are in different colors
Subtotal
10
STEP 3: OfficeAreaCalculator (10 points)
Write a program called OfficeAreaCalculator.java that displays the following prompts using two label components
Enter the length of the office:
Enter the width of the office:
Have your program accept the user input in two text fields. When a button is clicked, your program should calculate the area of the office and display the area in a text field with a label of Area. This display should be cleared whenever the input text fields receive the focus. A second button should be provided to terminate the application (Exit button).
The following tutorial shows you much of the code solution. Feel free to use the tutorial, but make changes so that you are not simply copying the tutorial code for your entire solution. To make this different from the tutorial, change the colors of the panel. Also, add this application to the same tabbed pane (see the JTabbedPane tutorial) as the application you built in Step 2, the DayGui application.