"Komponent Kaleidescope"
Due: Monday, October 19th by midnight.
Deliverables: Email all files that you create to cis3931@cs.fsu.edu by the due date, including a journal/diary of the steps you went through during this assignment. Since many of the assignments involve writing Java applets it will greatly assist the grading of the assignments if you create HTML on your home page that includes the assignment's applets. Please include the web address of your applet in the journal/diary. Note that for assignments that require you to create source code yourself rather than type in existing code (like this one) you should take careful measures not to accidentally make your .java files world-readable within your HTML directory.
When emailing your files it can be problematic to faithfully re-create the file names. Here are detailed instructions that you can use for this and future assignments. If you use xi.cs.fsu.edu (which is running Solaris) you can create a single compress "tar" file that can then be emailed to cis3931@cs.fsu.edu.
cd location_of_P5_source gnutar czvf ~/P5.tar.gz .
If you use an email client that supports attachments then you can just attach the file P5.tar.gz to your email submission. If you do not use an email client that supports attachments you will first have to convert the binary compressed "tar" file into a format suitable for an email message, such as uuencoding. Here is an example of encoding the P5.tar.gz file and sending it via a UNIX pipe to a mail client:
uuencode P5.tar.gz < P5.tar.gz | /usr/ucb/mail -s "P5.tar.gz" cis3931@cs.fsu.edu
If you choose to use some other operating system, such as Windows '95, Windows NT or Windows '98 be careful that you use a compression agent that correctly preserves both case sensitivity and the entire file name length, such as WinZip.
You will be asked to re-submit your assignment via email if the format you use is not correctly identified and/or formatted. Please do not email all the files separately.
Assignment:
This assignment builds on your previous assignment. In particular, you will use some of the Abstract Windowing Toolkit (AWT) components. Read Chapter 18 of the book or the on-line tutorial (Overview of the Java UI) and Chapter 19 (Using Components, the GUI Building Blocks). As you may discover in any future employment, you are often asked to modify an existing program to correct bugs or enhance the functionality. In this assignment you will use as your starting place an already-working Java program featured in Chapter 18. It creates many of the basic AWT controls (buttons, checkboxes, choices, lists, menus and text fields). Your job is to modify the program according to the rules below:
You can run the original GUIWindow program by selecting the link below. It behaves exactly like the sample from the on-line tutorial of Chapter 18.
Original version: |
Source code to the original version is in GUIWindow.java. Source code to the AppletButton class, used to fire up both of these applications as a separate window, can be found in AppletButton.java, although you do not have to modify this file nor really understand how it works for this assignment (although it might be fun to try and figure out how this code works!).
To help you make sure your program is a correct solution to the set of rules above you can run this modified version of GUIWindow. It represents a correct solution to the assignment.
Modified version: |
A helpful hint while programming and debugging -- this program will run as a stand-alone Java application and does not need to be fired up via the AppletButton applet in a browser. A common "edit/compile/run" cycle would look like this:
edit GUIWindow.java javac GUIWindow.java java GUIWindow