Computer Science 523
Advanced Programming

Summer 2014, The College of Saint Rose

Lab 6: Java Swing Practice
Due: 11:59 PM, Sunday, July 13, 2014

In this lab, your task is to become more familiar with the Java Swing graphical user interface components. You can write any program with a graphical user interface, subject to some constraints outlined below.

You may work alone or in a group of 2 or 3 on this lab. Only one submission per group is needed.

Getting Set Up

To get your BlueJ environment set up for this week's lab assignment, start BlueJ and choose "New Project" from the "Project" menu. Navigate to your folder for this course and choose the name "Lab6" (no spaces) for the project.

Programming Assignment

Your task is to write a program to complete a task of your choice that uses the Java Swing GUI. The complexity level does not need to be excessive, but it should demonstrate your understanding of the Swing components, layouts of those components within the window, and event handling. The level of difficulty should lie somewhere between the early Swing examples, which are nearly trivial now, and the "Five Guys" example, which would be more complicated than necessary here.

Your program may be a JApplet along the lines of the class examples, or you can use the JFrame-based GUIs as shown in Gaddis.

The minimum requirements:


Before 11:59 PM, Sunday, July 13, 2014, submit your lab for grading. To complete the submission, upload a copy of your lab (a .7z or .zip file containing your project directory) using Submission Box under assignment "Lab6".


This assignment is worth 70 points, which are distributed as follows:

> FeatureValueScore
Basic GUI setup 4
At least 4 Swing components 20
Two components with listeners 8
Different layout 5
Thorough description of the code's intent in class comment 10
Correctness and completeness of implementation 10
Other Comments 5
Appropriate variable declarations and named constants 3
Naming conventions 2
Code organization 2
Formatting 1
Total 70