On December 8, 2009 04:33:35 am Johan Henriksson wrote:
> if you absolutely want to switch GUI library, maybe you want to have a
> look one step further? there are better alternatives than swing which is
> rather buggy and does not always look native. of course, swing might
> make it easier to move from AWT.
It is the easiest step as a first effort. If the desire is to separate the GUI
from the core parts then Swing can just end up being one of a number
of potential client GUIs to the underlying functionality.
> * Qt-java (aka jambi), probably the best bet now that Qt has gone GPL.
> looks native on all platforms.
> BIG disadvantage: they brought the slot system over from C++
Qt and QtJambi are both LGPL now.
I find their slot/connection system to be much simpler and straightforward than
Java's built-in need for the Observer pattern (in the form of Listeners)
everywhere. The Observer pattern, when taken to extremes, hinders good
programming (i.e., an instance of an anti-pattern). The bringing over from Qt
of the slots system is actually one solution for Observer as an anti-pattern
> * GTK-java: just an option but GTK is not known to always look native
> * SWT, native, obviously very java-ish since it is used by Eclipse
> been considering changing library for Endrov for a long time (likely
> won't happen before 5.x) but I'm waiting for either SWT or Qt to "win".
> since SWT is java-only, I think it will be Qt.
QtJambi is better, but is currently in transition since Nokia (the owners of
Qt now) dropped direct support for it and are turning it over to the FOSS
community. A 4.6 version is in progress, but won't be in sync with the Qt
version for a while. QtJambi 4.5.x is available with all needed pre-compiled
native components for Linux, Mac OS X and Windows.