Lab 10
Get started now
## Objectives * Construct a non-trivial interactive graphical user interface with at least two windows. * Research and implement at least one event handler that handles events other than `ActionEvent`s. ## Overview In this assignment you will update your image manipulation program based on feedback from your instructor, improve the user interface, and add functionality that responds to an event type other than an action event. ## User Interface Improvements Consider ways to improve the user interface of your application. Add an **About** box to your application that identifies you as author and highlights any special features of your application. ## Responding to an Event other than an `ActionEvent` You must implement a feature that responds to an event other than an `ActionEvent`. For example, you could: * allow the user to draw on the image with the mouse * display the x, y coordinates of the location of the mouse on the image * display the color of the pixel at the location of the mouse on the image * play a sound when clicking on a pixel with a particular color * flip back and forth between the image and its negative whenever the window is minimized * select a region of the image ## Just For Fun There are many additional enhancements that could build on the required functionality. You are encouraged to enhance this application using your creativity. A number of enhancements are included below; however, you should not feel limited to these suggestions. * Add a menu to the main window to replace (or in addition to) the buttons * Apply a transform to only a selected region of the image * Display the original and transformed images side-by-side * Toggle between original and transformed images when mouse button is pressed on the image * Create a meme generator by adding styled text on the image * Tonal adjustment (e.g., adding a red hue to the image underneath the mouse) * Provide undo functionality * Implement additional transformations, e.g. * Brighten * Darken * Decrease color saturation * Increase color saturation * Apply additional filters like the **Edge** filter [see here](http://lodev.org/cgtutor/filtering.html) ## Lab Deliverables > See your professor's instructions for details on submission guidelines and due dates. > * Dr. Taylor's students: See below > * All other students should refer to Blackboard > >If you have any questions, consult your instructor. ## Acknowledgment This laboratory assignment was developed by [Dr. Chris Taylor](/taylor/).

Tuesday, 11-Feb-2020 14:42:42 CST