Title: Paint Project CEN3031
1Paint Project CEN3031
- Presented by the Web Junkies
2Overview
- Group Introduction
- Individual Contribution
- Program Requirements
- Design/Structure
- Requirement Implementation
- Requirements In Progress
- Summary
3Web Junkies
- Gulam Vayda
- Christian Boldan
- Chris Walker
4Individual Contributions
- Gulam Vayda
- Proposed Requirements 5, 10-12
- Project Manager (involved in all phases of
project) - Class Structure/Documentation
- Christian Boldan
- Proposed Requirements 1-4
- Lead Coder/Tester
- Chris Walker
- Proposed Requirements 6-9
- Maintained Group Website and Presentation
- Class Structure/Documentation
5Requirements 1-4
- The system shall have an icon that gives the user
the ability to open the paint program by
double-clicking on the icon. - The system shall, when executed, open a window
with a title bar. Inside the window, the
dimension shall be fixed at 800 by 600 pixels. - The system shall contain a white canvas inside
the window with a dimension of 600 by 600 pixels. - The system shall contain a panel of buttons on
the left hand side of the window with a dimension
of 200 by 600 pixels, which will represent all
the drawing functions that the user can use as
well as all the color options available for each
function.
6Requirements 5-8
- The system shall limit the user to the following
color selection for each drawing function white,
black, red, yellow, blue, green, orange, and
purple. - The system shall contain four drawing functions,
the first of which is the Pen, allowing the
user to draw a 2-pixel-wide, freeform line. - The system shall have a second drawing function,
the Brush, allowing the user to draw an
8-pixel-wide, freeform line. - The system shall have a third drawing function,
the Paintroller, allowing the user to draw a
16-pixel wide, freeform line.
7Requirements 9-12
- The system shall have a fourth and final drawing
function, the Paintcan, allowing the user to
change an area of one color to another color. - The system shall contain a menu bar directly
below the title bar (which is not a part of the
800 by 600 pixel window). - The system shall have two options of the menu
bar, the first of which is the Clear Canvas
option, allowing the user to make the entire
canvas white. - The system shall have a second and final menu
option, Close, allowing (perhaps redundantly)
the user to close the window and program.
8Design / Class Structure
Canvas
Action Listener
MouseInputListener
JFrame
Paint menuBar JMenuBar fileMenu
JMenu clearCanvas JMenuItem closeApp
JMenuItem black yellow JButton pen
JRadioButton brush JRadioButton paintroller
JRadioButton paintcan JRadioButton toolPanel
JPanel colorPanel JPanel buttonPanel
JPanel aWindow JFrame --------------------------
----- paint(Graphics g) void
MyMouseHandler -------------------------- mouseC
licked(MouseEvent e) void mouseDragged(MouseEven
t e) void
JPanel
JRadioButton
MyButtonHandler -------------------------- actio
nPerformed(ActionEvent e) void
JButton
JMenuBar
JMenu
JMenuItem
9Implementation
10Implementation
11Requirement 9 The Paintcan
- Requirement Definition
- Drawing function that fills in an area of one
color with another color - Possible Implementation
- When clicked on the canvas, a method looks for
all pixels of the same color surrounding the
pixel clicked and changes it to the color
selected (perhaps using some methods in Canvas
class)
12Summary
- Web Junkies Work Distribution
- Requirements 1-12 and Design
- 11 Requirements Implemented
- 1 Requirement Yet To Be Done!