One of the great things about the Tcl scripting language is its companion program Tk. This graphical user interface (GUI) toolkit makes it easy to create cross platform application interfaces. Since we use Java based JTcl for scripting instead of the C based Tcl, we need a Java version of Tk. This wasn't available so we wrote our own and released it as the open source project Swank.
All the features of our graphical interfaces are created by using scripts to create Swank widgets. Even spectra are rendered as custom Java based items on a Swank canvas widget. Doing this allows us to create canvases with rich mixtures of spectra and annotations.
All GUI items can be created while the program is running so interactive development of new features in the graphical interface is a very dynamic process.