120 likes | 277 Views
Paint Project CEN3031. Presented by the Web Junkies. Overview. Group Introduction Individual Contribution Program Requirements Design/Structure Requirement Implementation Requirements In Progress Summary. Web Junkies. Gulam Vayda Christian Boldan Chris Walker.
E N D
Paint Project CEN3031 Presented by the Web Junkies
Overview • Group Introduction • Individual Contribution • Program Requirements • Design/Structure • Requirement Implementation • Requirements In Progress • Summary
Web Junkies • Gulam Vayda • Christian Boldan • Chris Walker
Individual 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
Requirements 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.
Requirements 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.
Requirements 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.
Design / 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 -------------------------- +mouseClicked(MouseEvent e): void +mouseDragged(MouseEvent e): void JPanel JRadioButton MyButtonHandler -------------------------- +actionPerformed(ActionEvent e): void JButton JMenuBar JMenu JMenuItem
Requirement #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)
Summary • Web Junkies’ Work Distribution • Requirements 1-12 and Design • 11 Requirements Implemented • 1 Requirement Yet To Be Done!