To become familiar with Java and JFC/Swing programming (or, to refresh your memory).
Write a Java program using JFC and the Swing components that reads its command line arguments and creates a simple graphical program based on them. The program should have a column of buttons (see below) on the left, and a large white rectangular component on the right. The program should maintain a set of 10 boolean state variables, which should initially be false (off). For each state variable, if it is true (on), a different graphical entity (e.g., a piece of text, a line, an image, a circle, etc.) should be drawn in the white rectangular component. The graphic entity for each flag is hard-coded in the program, and should be chosen by you so that all 10 are different and are displayed in a different part of the window: if the flag is on, they appear, if it is off, they disappear.
The command line arguments must occur in pairs, and should be in the form
string number string number string number ....
For each pair, a button should be created with the label corresponding to the string. The button's function is to toggle the numbered flag on and off. Your program should support any number of arguments (as long as they are in pairs). Therefore, not all 10 flags may have a button, and some buttons may toggle the same flag.
You should implement the white component by modifying how it draws itself: each time it redraws itself, it should based what it does on the state of the flags. When a button is clicked, it should change a flag and tell the component to redraw itself.
Your program should consist of a single java file which should be commented with your name (the name you are registered under!) and ID number. The java file should implement a class "A1" (so the TA can save it as "A1.java", compile it and execute it using the command "java A1".) The file should be emailed as ASCII text to cs4470@cc.gatech.edu.
The time the mail is received will be used to determine whether or not the program is late, so be sure to allow a couple of minutes for the mail system to transmit your file if you are working right up to the deadline. If you find it necessary to send multiple files to the TA, tar them and then uuencode the results before mailing. (Using MIME attachments to turn in files will make the TA crabby and result in much tougher program grading!)
IMPORTANT: If the TA has to edit your files you will lose points. Similarly, the TA should be able to execute the class "A1", so using any other class as your main class will result in lost points.
This program is due on or before Friday, August 31st. This means it must be received by 11:59pm EDT on Friday to not be considered late.
Your program should create a window of at least 500x500 pixels, and handle window resizing properly.
There are no extra credit options on this assignment.