CSE 132 (Spring 2011)
Lab 2b: KWIC Index with GUI


This is a continuation of Lab 2a, in which you should already pass the unit test for KWIC. Here you will develop a simple GUI using netbeans.

Designing your GUI

You should spend a few minutes brainstorming and thinking about the appearance of your GUI. What functionality should it provide? In design, there are rarely absolutely right or wrong approaches, but approaches can be evaluated based on their advantages and disadvantages.

Generally, design can be an iterative process in which a given approach is prototyped, evaluated, and improved.

As a point of reference, I wrote a (let's go with: "straightforward") GUI just to give you an idea of what can be done straightforwardly.

I know you can do better.

Developing your GUI

OK, we can do this the hard way or the easy way. Or the medium way. Or the semi-medium-easy-hard way. Or the sort of hard with a touch of awkward-easy-difficult-challenging way.:

The hard way
You can write a bunch of swing code by hand that will instantiate the visual components you want and lay them out in the way you want to see them.

I estimate this might take you a good 15 hours of work to get something you really like. It's likely that in 7 hours of work you could get something you could turn in without too much loss of pride. However....

The easy way
Most people use design tools to design GUIs these days, so why not you? The NetBeans GUI Builder can help you do that, and it should take most of the hassle out of building the GUI.
For the easy way, I recommend the following online resources:

Development notes

The above ideas are based on my (RKC) brief excursion into netbeans. If you find better, more convenient, or clearer ways of dealing with the swing components via netbeans, please share them with me and the class.

Submitting your work

Commit your work as usual and make sure you demo and are recorded on a TA demo sheet. The TAs will examine and grade your Lab 2 code and decide on contest winner(s).

Grading rubric

Bare minimum: loads KWIC, gets all phrases associated with a word
B- to B+
Additional functionality but not complete
Full functionality, can add/delete words and phrases, possibly force associations between words and phrases
A to A+
Anything addtiional, subject to TA discretion
When you done with this lab, you must be cleared by the TA to receive credit.

If you worked in a team using a group– repository:
  • Your work must be committed in that repository for this demo.
  • Each team member must complete this form and have the TA authenticate.
    For example, if there are two of you, then the form must be submitted twice, so that each person's last name and 6 digit ID is captured with the repository name.
  • The repository name must be included on each of the submissions.

group– Enter the name of your group repository here
Last name 6-digit ID
Features (TA Verify!): bare minimum
Contest entry?

TA: Password:

Last modified 05:41:39 CST 17 February 2011 by Ron K. Cytron