I'm new to Java, but will eventually want to use GUI for my Desktop applications. So as usual in any language, GUI toolkits are "debatable". In Python (My current "mother toungue") We have PyQT vs PyGTK vs wxPython and it is a good debate. I would like to hear your opinion on Java Swing vs Standard Widgets Toolkit ;)

Also, do I need to add anything to use Swing/SWT with eclipse or they are included in JDK/Eclipse?

Here we go!

Recommended Answers

All 6 Replies

Swing and SWT are two completely different APIs, although the principles are the same.

SWT may seem simpler to use than Swing but one potential problem with SWT is in the need for resource management.

See these websites:

1. http://www.developer.com/java/other/article.php/10936_2179061_1/Swing-and-SWT-A-Tale-of-Two-Java-GUI-Libraries.htm
2. http://www.ibm.com/developerworks/grid/library/os-swingswt/
3. http://www.developer.com/java/other/article.php/10936_2179061_2/Swing-and-SWT-A-Tale-of-Two-Java-GUI-Libraries.htm

So Ada,
what do you recommend ;)

SWT was created for faster native widgets - it is faster because it uses the OS's native tools to draw the widgets, essentially. However, Swing should be plenty fast for most any purposes, and I personally prefer it. I also think Swing looks nicer.

P.S. I used SWT at my internship all summer last year and I never had any problems with disposing the objects, so I don't consider that enough reason to use one instead of the other. But again, Swing just looks better, plain and simple.

So Any good tutorial on Swing or SWT? I only need tutorial bundled for offline uses as I code at home with no net. I thing that will be abig factor for me moving either direction.

Don't point me to readme above. I have read it, but I just need an offline tut. Also unless available for download, freely, don't point me to a book. It is hard to get them here!

Thanks buddies

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.