TkFX is a potential successor to Swank. The Swank tookit is a Tk style interface to the Java Swing widgets that works with JTcl. Together Swank and JTcl are the Java analogs of Tcl and Tk. Swing, while it will probably be around for quite a few years yet, is not likely to see much more development by Oracle. Most Java related GUI development by Oracle is now directed towards Java FX .

TkFX is currently an experiment in building a Java GUI tookit for JTcl based on JavaFX instead of Swing. Much of the code of Swank was written using JTcl scripts that generate Java code. I, swankguy, have begun changing that code to generate Java code that uses the JavaFX API.

As of 16 Oct 2011 the following Tk commands have some basic functionality: button, entry, toplevel,combobox,label,radiobutton,checkbutton,bind, grid, raise, lower, and wm. Also supported is a "webview" and "htmleditor" tool. The webview command creates a JavaFX WebView widget, which itself embeds a WebKit based web viewer. The htmleditor command creates a widget for text editing, where the underlying text is HTML, based on the JavaFX HTMLEditor widget. The following example code:

package require java
java::load com.onemoonscientific.swank.WidgetExt
toplevel .
raise .
button .b -text Load -command {.w load $url}
entry .e  -textvariable url
webview .w
grid .b -row 0 -column 0
grid .e -row 0 -column 1
grid columnconfigure . 0 -minsize 50
grid .w -row 1 -column 0 -columnspan 2
after 200
wm geometry . ""
wm title . "TkFx WebView Example"

creates the following window (after also typing in the URL and clicking Load)

TkFX Example

NEM 2011-10-16 This is simply awesome. Congratulations on the great work. swankguy Thanks

TkFX is essentially at version 0.0. Source code will be released under the BSD license as used by Tcl, JTcl and Swank, once I reach 0.1.