Version 31 of Swank

Updated 2005-06-12 06:18:08

http://www.onemoonscientific.com/images/swank238x162.png

 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]

See also: Java, Jacl, Tk, Swing, Jacl and Swank Advocacy.

This [L1 ] and this [L2 ] are "two screenshots of Swank in action."

Other Tk-like-widget-sets include Proxy Tk and WebWiseTclTk.


This [L3 ] 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. An alternative goal would be to ensure that there is a high degree of compatability between the two, but use the effort that would be required to make them identical to instead optimize Swank for the Java environment. Feedback on this question is welcomed.


Why the name

There was no particular reason. It just sounded right. But perhaps some retrospective rationalization would be:

  • SWing ANd tK
  • SWAnk is Not tK
  • ...

Category Java

Category GUI Category Package