PureSwing is Java GUI library with user API nearly identical to Swing GUI toolkit. It's based on GNU Classpath's reimplementation of Java Swing classes. Current version is preview release and there is still a lot of work to be done to reach the goals.
PureSwing is stand-alone library, which liberates us from overly making the library backward compatible as is the case with original Swing contained in Java runtime. This means we can make the library better and not being set in stone forever. This also means that you probably shoudn't use this library for typical enterprise app or so.
Major changes over official Swing library:
PureSwing aims to provide at least two themes for normal apps and fancy apps (probably using OpenGL). Metal/Ocean theme is also currently provided, but not used by default and will be most likely removed when other themes will fully replace it. These new themes will be focusing to have great user experience in both visual and feel sides, including smoothly animated and modern look to match current trends. There is work-in-progress version of first theme currently available.
There is currently no support for native look and feels, if there will be enough interest (including contributors willing to help) it will be added in future (author has experience with internal working of several GUI systems and he is pixel perfectionist).
The reliance on AWT was completely removed and the API for providing system window access was made from scratch to be much easier and universal. This allows to have various backends, from using standard AWT for it's easy cross-platform access, better platform-dependant implementations like direct support for X11 to more unusual usages, such as embedding into your OpenGL context, be it as simple 2D or fancy 3D integration. Of course, multiple backends can be used at the same time.
This project is like any other typical open source project out there, joining the project is very easy: just send in the patch and if it's good it will be commited. No need to sign any papers, no need for excessive reviews, no need to preserve backward compatibility if it's for a good thing.
PureSwing is distributed under GPLv2+ with Classpath exception (allows linking with proprietary programs). This license is effectivelly less restrictive than LGPL, yet still it preserves principles of GPL within the library realm, which is a perfect match for this kind of library.
Furthermore, unlike OpenJDK (and other Sun's GPLed projects) it's future-proof, it contains clause allowing it to be used with any later version of GPL. For example you're forbidden to use any OpenJDK code directly in GPLv3 application. This "small" difference was main reason why GNU Classpath's reimplementation was choosen instead of Sun's original implementation as basis of this library.
There is support for NetBeans GUI builder, currently realized as simple fixup ANT task. The support is limited though, there is currently no support for being able to drag'n'drop custom components when visually editing. More support for tools will be available in future.
Best way is to use this thread on JavaGaming forums.
You can also contact me on IRC (FreeNode) or Skype, my nick is
jezek2 in both cases.
PureSwing is developed using Monotone version control system. If you want to download the latest developer version and tightly track development, you have to install Monotone and then do the following commands:
mtn --db pureswing.mtn db init mtn --db pureswing.mtn pull pureswing.mtn.advel.cz "cz.advel.pureswing*" mtn --db pureswing.mtn --branch cz.advel.pureswing checkout pureswing
Then for subsequent updating:
cd pureswing mtn pull mtn update
For more informations please refer to the Monotone documentation.
Copyright (c) 2009 ADVEL s.r.o.