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
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.
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.
In the JPanel-2, the icons are dragged from the JPanel-1 and are connected using lines.
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.
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.
i. This class will extend JPanel.
ii. The panel will contain a few icons (could be small pictures).
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
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
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
Contribution 100 100 100 100 60
90 90 90 90 90
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.
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.)
Follows formatting and naming conventions 5 Quality
Project 1. Graphical User Interface
1. Learning Objectives: