Contributed Software Information

The software provided in this package is provided "as-is." We have tested it ourselves with the St. Paul distribution and it works for us, but your mileage may vary. The people that provided this source code contributed it to us with no strings attached; they were simply hoping that you could find this code useful either as is or as an example of how to build similar things.

FadingImage Trevor Morris This is a class that can construct a new image from a loaded_image. This new image is actually a set of "flip images" which are various transparent images based on the original image. You can flip through these images and get a "fade-in, fade-out" type of behavior.

He supplied a FadingIcon class which implements the animation automatically so you can do a dissolve in your application. I built a FadingButton which works like the fading icon except works lik a button. There is also a little test applet called FadingTest.java (and a corresponding HTML file) to show you how to use this stuff.

FileDialogTest Trevor Morris This is a test application (not applet) which tests the save and load file dialogs that Trev wrote. Be sure to note the way the load and save dialogs do type-ahead and file completion if you use the keyboard instead of the mouse. The class FileDialogFrame can be used to load or save files.
Getopt Keith Edwards This is a bit of java code which mimics the getopt (3c) style command-line processing of unix. The file Getopt.java also has a main that demonstrates how to use it in an application.
color_picker Keith Edwards color_picker is an interface and Keith has graciously provided us with two implementations rgb_color_picker and simple_color_picker. The former lets you specify a color via its three RGB values and the latter displays a pallette of colors and you just pick one of them. He left HSV as an exercise for the reader.

I wrote a demo program called picker_test with a .java and a .html file as an example.

interactor_dragout_applet Keith Edwards (with contributions by Tom Rodriguez) This is a new subclass of interactor_applet which allows the applet to be "dragged" out of the page by clicking on its border. The applet then jumps out of the page and onto the desktop. Tom Rodriguez supplied me with an improvement to the "dragging" behavior so the dragged out applet appears under the mouse on the desktop while you drag it. (Beware: Netscape has lots of bugs with its window placement so this probably won't work right in Netscape!)

There is a test applet called "dragout_applet" which you can be wowed by and steal code from.

multilist Keith Edwards This is new version of a list object which allows you to display data in a multi-column format. It also allows the columns to be dragged around, although the dropping does not quite work. The columns are kept in sync with their respective inputs.

The file multilist.java has a main which you can execute via: java sub_arctic.contrib.multilist to see it work.

Notebook Keith Edwards Just before we were about to ship, we got this from Keith Edwards. It is a Notebook interactor which can flip through "Page" interactors. However, it appears to have a small flashing problem when you move along the tabs at the top of the Notebook (at least on our systems). Also, it is convinced that java.lang.Thread and java.awt.Point have incompatible class changes (and this might be the reason for the flashing). I suspect that if you used the RMI version of 1.02 this would work fine. To test out Keith's code (which Notebook.java and Page.java) use "java sub_arctic.contrib.Notebook".

Also, be aware if you want the "Tabbed Dialog" type of behavior, Roy has written such a thing and it is now part of the normal SubArctic library. Look for "tab_parent" in the lib package of SubArctic. Michael Latta also contributed a Tab Dialog interactor: We are hoping to unify these three contributions soon.


Jan 31, 1997
Ian Smith