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
in Java.
> * 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.
Raymond