What: Swank
Where: https://github.com/jtcl-project/swank 
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 3.0.0a2
Updated: 07/2012
Contact: See web site

site above is closed.. any alternate place to download Swank?

TP - I have created a Git repository (see above) in the JTcl project on Github. This is the most recent version I could find on my drive. I'm not sure if Bruce has been working on Swank recently.

[refs to articles]

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

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

This [L1 ] 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
  • ...

Swank Widgets

Swank Canvas Widget

Swank Canvas Widget Geometric Items

LV 2009 Jul 07 It might be interesting for some in the Tk community to take a look at some of the Swank specific widgets, to see if there are some ideas that would be worth implementing in Tk .