This is an application that lets the user draw a little picture. It is due on Thursday, the 28th of July, 2016 at 11:55 PM. Here are the instructions for this project: For this project, you will create a GUI drawing application.
Note that because of when final grades are due, there are no late submissions accepted of this project.
Note that there is code for a sample drawing application in the textbook. You might use that as a reference, but the requirements for this assignment are different. Your drawing application should function as follows: When the user clicks in the drawing space, the pen is turned on. The user can then move the mouse to draw. The user clicks again to turn the pen off. (40 points) Note: the user does not click-and-drag to draw. Instead, it's click once to turn on, move to draw, click once to turn off. The user does not have to hold down the mouse to draw! The user can select from three different pen colors. (15 points) Make sure you test that your program works when you change the color of the pen! The user can also select an "eraser" pen. (10 points) Hint: Do you really need to "erase" a point? Or is there a shortcut you can use? There is a clear button that clears the entire drawing space. (10 points) You must keep track of both the location and color of a point on which the user has drawn. (25 points) Use an ArrayList to keep track of this. What kind of object should the ArrayList hold? Does Java provide a class that represents a Point with Color? If not, what can you do? For full credit, design an object-oriented solution! Extra Credit (20 points)
Include an additional drawing functionality. Be creative with this!! (Your additional functionality cannot be just choosing another pen color- that will not count for any extra credit.)
Notes and Submission
For full credit, follow good principles of programming, object-oriented design, and inheritance. Use comments to provide a brief explanations where appropriate. Part of the purpose of this project is to design what classes you will need and how the classes should communicate with each other. Because of this, I have not provided a starting file. You might review the program that changed the color of a smiley face if you're unsure where to get started. I have provided an executable jar sample file. You can download this file and then double-click on it to run the program. To submit your program, zip all .java files together and upload the zip file. If submitting as a group, submit one assignment only through one group member's Insight account. Put the names of all group members in Java comments at the top of each Java file.