Turn-in Instructions

This is an INDIVIDUAL assignment; while you may ask others for help on Java or Swing details, please build your application on your own.

While you can use any development environment you choose, you are NOT allowed to use "GUI builder" type tools (like JBuilder or the Eclipse GUI Builder), since the point of these assignments is to give you experience in creating graphical UI code "by hand."

Here are the details for how to turn in the assignment. We'll be using this structure for all of the turn-ins:

1. Create an executable JAR file named courier.jar that contains your runnable application. (See here for details on how to create executable JAR files.) We should be able to run your program by typing "java -jar courier.jar" on the command line; please be sure that your application runs correctly using ONLY this command, and that it doesn't require any additional CLASSPATH or other environment variables, no classfiles or images located outside the JAR file, etc.

2. Create a new folder using your last name as the name of the folder.

3. Put the courier.jar file into the top level of this folder, and all of your source files into a "source" subfolder inside this folder.

4. Put a README.txt file into the top level of this folder. This file should contain your name and email address, the version of Java you used (Java 1.7.x only, please) as well as any special info we might need to know about your program (let us know if you did extra credit, for example).

5. ZIP this directory and submit via T-Square (instructions are here).

Please take care to remove any platform dependencies, such as hardcoded Windows path names or dependence on a particular look-and-feel that may not exist on all platforms. Also, if you use any images in your application, please make sure that you include these in your JAR file and that your code will refer to them and load them properly when they're in this JAR file (see this page for some details on how to include and load images from within a JAR file).

Grading for this assignment, and future assignments, will roughly follow this breakdown:

Please note that a requirement with all of the homeworks is that they should generally "behave well"--meaning that they should largely look and work like you would expect any normal application on your computer to look and work. We mention this because it's virtually impossible to list everything that an application should or should not do in a homework description. The homework requirements don't specificy, for example, that buttons must be large enough to contain their labels or that the application shouldn't flash or behave oddly when resized--but you wouldn't expect this sort of behavior on a normal application, so we will deduct a few functionality points for applications that don't behave well.

Check with us if you have any questions.