Overview In the project you will construct a Java Swing GUI that uses event handlers and listeners while expanding on the project 1 Shape theme

CMSC 335 Project 2
Overview In the project you will construct a Java Swing GUI that uses event handlers and listeners while expanding on the project 1 Shape theme. Before completing this exercise, be sure to review and try the Java class and inheritance examples and materials found in this free Safari resource:
https://learning.oreilly.com/library/view/java-the-complete/9781260440249/
You should focus on Chapters 24, 25, 26, and 27
If you have previously signed up for the Safari account you don’t need to sign-up again. Just use this link:
https://learning.oreilly.com/accounts/login/?next=/library/view/temporary-access/
If you have not previously requested a Safari account follow the details on this page to sign-up for your Safari Account:
https://libguides.umuc.edu/safari
You’ll need to sign in using your UMGC student email account. Once you sign in, you’ll have immediate access to the content, and you’ll shortly receive an e-mail from Safari prompting you to set up a password and complete your account creation (recommended).
Students: Your UMUC e-mail account is your username + @student.umuc.edu (example: hsolo2@student.umuc.edu).
Assignment Details
Design, implement and test a set of Java classes that allows a user to select a shape from a list of available shapes, enter appropriate dimensional parameters and then display that shape in a frame of your Swing-based GUI. For 3-D shapes consider loading an image from a file and displaying that as a representative.
Your list of shapes should be similar, if not identical to the ones used in project one:
 Circle
 Square
 Triangle
 Rectangle
 Sphere
 Cube
 Cone
 Cylinder
 Torus
Take advantage of various Swing AWT components including Layout Managers, Event Handlers, Listener Interfaces, Adapter Classes, Inner Classes, Buttons and other widgets as needed.
Take your time on understanding how the graphical components and listeners work so you can easily display appropriate actions based on any event.
Submission Requirements:
1. Submit all of your Java source files (each class should be in a separate .java file). These files should be zipped and submitted with the documentation.
2. UML class diagram showing the type of the class relationships.
3. Developer’s guide describing how to compile and execute the program. The guide should include a comprehensive test plan that includes evidence of testing each component of the menu with screen captures and descriptions supporting each test. Documentation includes Lessons learned.
Your compressed zip file should be submitted to the Project 2 folder in LEO no later than the due date listed in the classroom calendar.
Grading Rubric:
Attribute
Meets
Design
20 points Designs a Java class Inheritance hierarchy that would satisfy the following is-a and has-a relationships:
 Circle
 Square
 Triangle
 Rectangle
 Sphere
 Cube
 Cone
 Cylinder
 Torus
Functionality
40 points
Contains no coding errors.
Contains no compile warnings.
Constructs a Java Swing GUI that uses event handlers and listeners while expanding on the project 1 Shape theme.
Displays shapes in a frame of your Swing-based GUI. For 3-D shapes consider loading an image from a file and displaying that as a representative.
Uses various Swing AWT components including Layout Managers, Event Handlers, Listener Interfaces, Adapter Classes, Inner Classes, Buttons and other widgets.
Test Data
20 points
Tests the application using multiple and varied test cases.
Documentation and submission
20 points
Source code files include header comment block, including file name, date, author, purpose, appropriate comments within the code, appropriate variable and function names, correct indentation.
Submission includes Java source code files, Data files used to test your program, Configuration files used.
Documentation includes a UML class diagram showing the type of the class relationships.
Documentation includes a user’s Guide describing of how to set up and run your application.
Documentation includes a test plan with sample input and expected results, test data and results and screen snapshots of some of your test cases.
Documentation includes Lessons learned.
Documentation is in an acceptable format.
Document is well-organized.
The font size should be 12 point.
The page margins should be one inch.
The paragraphs should be double spaced.
All figures, tables, equations, and references should be properly labeled and formatted using APA style.
The document should contain minimal spelling and grammatical errors.