Lab 10: Final Project, Part III
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
Acknowledgment
This laboratory assignment was developed by Dr. Chris Taylor.