1. Learning Objectives: · Create a friendly and aesthetical Graphical User Interface using Java Swing · Implement functionality on a Graphical User Interface using Java Listener classes · Practice component-based development · Organize team member roles, communication, and routines for working with the team 2. Description: For project 1, you will develop a Graphical User Interface for your JavaDraw. This is the first step in your semester-long project. Your project must meet these minimum requirements described below; however, it may contain additional items, options, and complexity and therefore additional files. This project requires you to create a Window with two panels inside the frame; 1. The first panel will contain a few icons (could be small pictures). 2. The second panel should be empty initially and will act as our workspace. Functionality: 1. DRAG: You should be able to drag the icons from the panel-1 to the panel-2. 2. CONNECT: You should be able to connect the icons in the workspace with lines doing click. Figure 1. JPanel-1 JPanel-2 JFrame2 Figure 2. In the JPanel-2, the icons are dragged from the JPanel-1 and are connected using lines. 3. Requirements: a. The project must have at least three classes. You may have additional classes, but it must at least contain three classes with the names described below. b. Each class is a responsibility of 1 or 2 students at the maximum. You may help each other and collaborate; however, only one team member will take final ownership of the class. Include the owner’s name at the top of the class. c. The three classes should have the following names and function as indicated below. 1) DrawFrame.java i. This class will be a JFrame that creates one instance of the other two classes. It displays these panels inside the pane. ii. The panels shall be placed as displayed in the Figure 1. 2) DrawPanelOne.java i. This class will extend JPanel. ii. The panel will contain a few icons (could be small pictures). 3) DrawPanelTwo.java i. This Panel should be empty initially and will act as our workspace. ii. Icons should be dragged here in this panel and shall be connected using lines.3 4. Documentation: a. Create a cover page with your names, team number and a screen shoot of your project running. Optionally, give a name to your software. b. In one page (double-spaced, size 12 font) describe the type of process model used for this project. Give a description and rationale for the response. c. Complete a chart, as shown, with how much time (in hours) you spent on each phase of the activities. Name Requirements Planning Modeling Coding Delivery Person A 1 2 2 15 0 Person B 1 1 1 5 1 Person C 0 0 1 19 0 Person D 1 2 1 15 0 Person E 0 1 2 10 0 Total 3 6 7 64 1 Team Total: 81 d. Complete your peer evaluations for your team members. Submit one per team member, using the Google Forms link that will be available in Blackboard. Criteria for evaluation is described below. Grade Category Team Member A Team Member B Team Member C Team Member D Team Member E Individual Contribution 100 100 100 100 60 (classes contain errors) Project Performance and Quality 90 90 90 90 90 Team Member Peer Evaluation (average of peer’s evaluation) 100 100 100 100 50 Project Grade 96.7 96.7 96.7 96.7 66.7 5. Project Deliverables Submit one file on Blackboard containing all the Java files. 6. References 1. Java 8 API 2. Creating a GUI With JFC/Swing 7. Scoring Guide for Project 1 The project will be scored as described below. Each item will be graded based on the following grading scales. Overall Project Evaluation Description Point Value Category Process model identified and explained 20 Documentation Chart completed 4 Documentation Cover Page 1 Documentation DRAG functionality working fine 20 Performance CONNECT functionality working fine 20 Performance Program runs without crashing or errors 20 Performance Comments should be mentioned wherever required according to java guidelines including file header (name, description, etc.) 10 Quality Follows formatting and naming conventions 5 Quality Total: 100