What: Swank Where: http://www.onemoonscientific.com/swank/index.html http://swank.dev.java.net Description: ''graphical toolkit for use with Jacl''. It permits those working in a [Java] environment to code against the Tk widget set rather than Swing or AWT. Currently at version 2.0.1 Updated: 05/2004 Contact: See web site [[refs to articles]] Seee also [Java], [Jacl], [Tk], [Swing], [Jacl and Swank Advocacy]. Other Tk-like-widget-sets include [Proxy Tk] and [WebWiseTclTk]. ---- This [http://www.onemoonscientific.com/nmrview/NMRViewJTransition2.htm] FAQ on NMRView touches on Bruce's experience in working with Tk vs. Java. ---- '''How Swank was developed''' [BAJ] 2 June 2004 SWANK was, and continues to be, developed with an automatic code-generation technique. Using the Java introspection capabilities available in Jacl, the methods for each Swing class are deduced, and then Java code is automatically written, with a Tcl script, to implement a Tcl/Tk like scripting interface. Implementing SWANK in this way allows two significant advantages. One, the development of the code was significantly faster than if all the Java code had been hand-written. Second, significant changes in the structure of the code can be made simply by changing the code-generation script, rather than rewriting the Java code that implements the interface to each Swing class. Additional, hand written, Java code provides a variety of utility routines such as the grid and pack geometry managers. ---- '''Should the goal of Swank development be to emulate Tk exactly''' Swank and Tk, aside from being written in different languages, are not the same (more on this coming below). This is in part because of the way in which Swank was developed (see above), the time constraints of the developer, and basing the development on the Java Swing widgets. A major question for future development is whether a primary goal should be to make Swank and Tk as similar as possible. Or should, they only be similar enough that scripting with Swank is similar to Tk and allow for difference based on use of the Java environment in Swank. Feedback on this question is welcomed. [Category Java] | [Category GUI] | [Category Package]