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

Abstract:

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

C
Bare minimum: loads KWIC, gets all phrases associated with a word
B- to B+
Additional functionality but not complete
A-
Full functionality, can add/delete words and phrases, possibly force associations between words and phrases
A to A+
Anything addtiional, subject to TA discretion


Last modified 08:59:08 CDT 03 June 2010 by Ron K. Cytron