Linked by Eugenia Loli on Fri 7th Dec 2007 06:25 UTC, submitted by poundsmack
Qt Jambi ships as a single Java library, or JAR (Java Archive) file, plus a handful of tools, including an interface layout and design tool, and an Eclipse plug-in. Trolltech uses its vaunted Qt C++ library as the GUI engine and puts Java wrappers around it. This approach uses the JNI (Java Native Interface) to call the necessary functions from Java. More here.
Thread beginning with comment 289390
To read all comments associated with this story, please click here.
by MamiyaOtaru on Fri 7th Dec 2007 20:10 UTC
Member since:

I'm not proud of this app. I made it when I was learning SWT and have since (for kicks and grins) ported it to Swint, KDEJava (dead) and QtJambi. Following are shots of each in Linux and OSX (no KDEJava in OSX though). Just posted for informational purposes so one can compare. Perhaps Windows shots later.



Just FYI: the Linux SWT shot is not as nice as it could be since I am using the Qt/GTK theme which uses Qt to draw GTK apps (but isn't perfect). For Linux Swing there is the KDELAF I could have used but it seems abandoned and isn't really done.

Here's a slightly more recent project (a mini Konqueror of sorts, since I hate Finder). Unlike the last app, I didn't code the tree and list views myself, but used Qt's ListDirModel. Less work and more functional. These are posted just to show what jambi looks like on Linux and OSX. Again, not something I ever plan on releasing, but here's what the toolkit looks like ;)

Linux (Plastique):
Linux (Polyester):

So jambi is nicely cross platform, but one still has to deal with issues. One can use the same action for toolbars and menus, and they each get the same icon. Great on Windows/Linux but not so much on OSX, as OSX menu items don't usually have icons. Qt C++ has a property one can set to disable icons in menus for OSX but I haven't discovered a way to use it for jambi, so I end up with another set of actions created without icons to put in the menus.

Also, for OSX I have to do additional stuff to get a proxy menu (what a user gets from right clicking on the icon in the titlebar) but with jambi I can't get a right click in the titlebar to register so the proxy menu shows up on left click. That's probably my problem, but the point is Windows/Linux don't expect such a proxy menu in the first place ;) The Window menu is also added especially for OSX, and must be implemented onesself, though a premade version is available (in c++ I believe, but portable, and maybe only for paying customers rather than GPL edition users). Qt does take care of moving "about" from the help menu to the app menu, and "exit" from the file menu to the app menu when on OSX, which is nice.

Basically, a few of the things Qt does to make life on OSX easier don't work (or the info on how to get them to work is very hard to find) with QtJambi. But overall it's been fun to program with and has satisfactory results on the three major platforms. I also like using the signals/slots mechanism. It can be easier than firing and catching exceptions, or implementing observers and observables or whatever. Just another option.

Reply Score: 6

RE: Toolkits
by mikeurbandz on Fri 7th Dec 2007 20:22 in reply to "Toolkits"
mikeurbandz Member since:

Swing sucks in KDE. I will admit that. Their KDE support is awful unless you use a third party theme.

Load it up in GNOME though, and set the UIManager to use the system look and feel, and you won't be able to tell the difference between a native GNOME app and the Swing app (presuming you are using a relatively recent version of Java 6.)

Reply Parent Score: 2

RE: Toolkits
by Boldie on Sat 8th Dec 2007 11:52 in reply to "Toolkits"
Boldie Member since:

Of topic. As a fellow Finder hater I have to ask. Is anyone aware of an easy to install finder replacement?

Reply Parent Score: 1