What is the best way to design gui? Is java's swing strong enough? Or should learn something like jaxx or JFace? What do you guys use?

I use a piece of paper.
What I draw on there is then transferred to whatever user interface library is needed.

And yes, Swing is plenty good enough if you take the time to learn to use it (most complaints about it are from people who don't bother to try and understand it).

Thank you very much. I guess I will stop wasting my time with different IDEs. And invest more time learning the GridBagLayout class. Is there any book you recommend for java gui design?

I wouldn't start with GridBag right away. It's 'slightly' more complicated than the others and almost everytime you'll end up using several different layout managers together... Not just one. Personally, I like nesting JPanels.

There's no single book. If you want to learn just GUI then go with Sun's swing layout tutorials. The tutorials should be short, sweet and to the point. Most of what you do depends on experience. Don't expect to be an expert after reading a tutorial or book. Experience will give you good judgement that a tutorial or book can't give you.

I agree with server_crash on the jpanels inside of other jpanels. Excellent strategy for building a GUI.

However, I do recommend jumping right into GridBagLayout. Even when there are jpanels in the application that would work with a FlowLayout or BorderLayout we always ended up using GridBagLayout. Its just so much more powerful then the other layouts.

This article has been dead for over six months. Start a new discussion instead.