Is Swank compatible with both JTcl and Jacl?

No. Swank is now compiled against JTcl. Because JTcl has been refactored to move certain classes around, Swank starting with 3.0 will not build with Jacl. But the changes are fairly trivial. In particular, the *Cmd.java classes in Swank import tcl.lang.pkg.java.ReflectObject, whereas RefelctObject is found in the tcl.lang package in Jacl.

[top]

Why does Swank fail a lot of the Tk tests.

Tk has had many man years of work whereas Swank is largely the work of one person. Tk has a great many features with a comprehensive test suite. Swank passes a lot of tests and is very useful, but we would love it if others would step in and help it pass more tests. Finally, Swank was never intended to be an exact replacement for Tk. There are features of Tk that just aren't appropriate to implement on top of the Swing widgets, and features that the Swing widgets have the Tk probably never will. We'll be adding various TclTest constraints to the test suite so it skips tests that aren't appropriate.

[top]

Why is the code for classes like SwkJButton.java and SwkJFrame.java poorly formatted..

The code for these classes is automatically generated by a set of Jacl scripts, and the scripts don't yet do anything to make the generated code pretty. Ideally we would automatically run them through a source code formatter.

[top]

How do I change the code for classes like SwkJButton.java and SwkJFrame.java.

Since these classes are automatically generated you need to change the template files or the actual Jacl scripts that generate them. If you change the ".java" files directly your changes will be lost if you run the automatic code generation tools. However, we do sometimes work on improvements to the code by directly editing and compiling the ".java" files. When we're satisfied with a change we'll make the appropriate changes upstream in the automatic code generation scripts.

[top]