The Swing/AWT API over SWT library
SwingWT is a 100% pure Java library which aims to be a free implementation of Swing and AWT. Unlike Swing, it drives native peer widgets for your platform from SWT. You can see a screenshot of the basic SwingWT demo here (Linux/GTK2) and here (MacOSX). The SwingWT download now includes the SwingSet2 demo, which you can see running on your platform with native widgets 1 2 3 4!
A small list of projects I know about using SwingWT can be found here.
SwingWT offers many benefits:
|22nd February, 2014||Another large patch from Alexei Svitkine. This contains more improvements and has been released as 0.92. Thanks!|
|6th February, 2012||Another large patch, this time from Thiago Tonelli. This contains many more improvements and has been released as 0.91. Thanks!|
|1st September, 2011||I received a massive patch from Alexei Svitkine, containing many improvements to SwingWT. This is now released as 0.90. Thank you!|
|23rd April, 2008||SwingWT is currently without a maintainer. I no longer need or use SwingWT and it's about as complete as it's going to get. Also, since Sun have open sourced Java, the incentive to clean room build a Java replacement is no longer there. I leave it here in case it's useful to someone in the future.|
|21st August, 2007||It's been a long time coming, but 0.89 is finally released with more compatibility improvements and SWT 3.2.|
|29th August, 2006||Due to some awesome work by Chris Deckers, SWTSwing is now 99% compatible with SwingWT - great for those places where you want native if available, but can fall back to Swing if not. See some screenshots of ASM running under SwingWT/GTK2, SwingWT/Swing:Metal and SwingWT/Swing:Napkin (you can get the awesome Napkin LAF here).|
|14th July, 2006||SwingWT 0.88 is released, featuring much improved Java2D support and many bugfixes.|
|13th July, 2006||I just discovered that the JavaCompiler project is using SwingWT as their AWT/Swing implementation.||14th March, 2006||Scott Cytacki has done a lot of work with SwingWT's Java2D implementation and is currently working on an AWT Toolkit implementation based on SwingWT.|
|19th August, 2005||Silvio Moioli has created SWTLoader to ease deployment of SWT/SwingWT applications!|
|2nd June, 2005||SwingWT 0.87 is released with many improvements/fixes.|
|21st January, 2005||SwingWT 0.86 is released with JTextPane support, much better performance under GTK2 and lots more compatibility fixes.|
|1st November, 2004||SwingWT 0.85 is finally released with many fixes, improved compatibility, preliminary support for StyledDocument/JEditorPane and more!|
|6th October, 2004||SwingWT is now part of Debian!|
|5th October, 2004||A new release is coming - be patient!|
|7th September, 2004||Thanks to Fernando Petrola and the WebOnSwing project, SwingWT has a new classloader to automatically switch Swing calls for SwingWT on the fly for existing applications.|
|11th July, 2004||After many requests, you can now view the SwingWT Javadocs online|
|29th June, 2004||SwingWT 0.84 released with lots of fixes, MacOSX support and automated test script framework|
|22nd June, 2004||We have full support for MacOSX in the CVS repository! (available in 0.84)|
|10th June, 2004||Just noticed we're going to be part of NetBSD!|
|7th May, 2004||SwingWT 0.83 released with many fixes and improvements|
|27th April, 2004||New Makefile fixes SwingWT build script to compile with older versions of GCJ (anonymous CVS checkout to get)|
|21st April, 2004||SwingWT 0.82 released with native build script for GCJ|
|15th April, 2004||SwingWT runs on IKVM under .NET/Mono!|
|31st March, 2004||SwingWT 0.81 released!|
|30th March, 2004||SwingWT is fully compatible with Kaffe (which is usually bundled with Linux distros). Just make sure you add a -Xss32m switch when starting your apps as Kaffe needs more stack space for all the JNI SWT does. There is also talk of possibly including SwingWT with Kaffe as an optional Swing implementation.|
|29th March, 2004||We're listed on the Eclipse Plugins page.|
|28th March, 2004||We're mentioned in WikiPedia!|
|20th March, 2004||I read this rather interesting page today. Debian is my distro of choice and I'll be posting to their mailling list offering help.|
|20th March, 2004||The ThisIsCool MingW GCJ project are using SwingWT as the AWT/Swing implementation for building native Win32 applications - Very cool indeed!|
SwingWT is into beta now - everything seems to work, it has received some good testing, but some items may be missing (Swing is a BIG API after all). There's probably a few bugs still in there as well :-). If you want to see SwingWT get better, help out!
The following things still need to be done:
In addition, SwingWT also implements some new functionality - after all, what's the point in replicating Swing if you can't scratch your own itch and add some things you always wanted? When was anything of interest last added to Swing come to that?
Read the SwingWT FAQ here.
See the SwingWT Javadocs.
I always like to hear feedback! Let me know what I'm doing right/wrong! Contact me here, you could join the mailling list. You could also donate something if you like and use SwingWT
Download the source and binaries for the latest version of SwingWT here. SwingWT is dual-licenced under the terms of the Common Public Licence and the GNU Lesser General Public Licence (LGPL).
I'd like to thank the following people for their invaluable contributions to SwingWT (if I've missed anyone, drop me a mail):
Copyright(c)2003-2012, R. Rawson-Tetley