Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Picking a UI framework

 
Manny Garcia
Greenhorn
Posts: 28
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello all. I've been writing server-side code for a long time now and was looking at doing a few projects just for my own enjoyment. Previously everything I've done has had a web interface, usually written by someone else. I want to do a few projects for fun that are stand alone desktop apps and need to pick a UI for it. From what I've been reading Swing seems to be on the road to obsolescence and was wondering what options I have out there. I could use either Eclipse or Netbeans, I'm agnostic as to which to use. I've noticed that Netbeans has a lot of support for Swing though as I mentioned Swing is not going to become a part of the JDK.

So my question is: What is a good UI framework to use for a desktop application? What are the pros and cons of some of the choices?

Regards,

Manny
 
Darryl Burke
Bartender
Posts: 5132
11
Java Netbeans IDE Opera
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
IMO Swing (1) isn't yet 'on the road to obsolescence' and (2) has the best availability of tutorials and community support.

But for a seasoned coder who just wants to have fun delving into GUIs, I would suggest the new kid on the block -- JavaFX 2.0. Still in Beta, with the fortnightly builds still introducing new API (and removing some too) and involving verbose coding until Java 8 introduces closures, but rich on appearance and visual gimmickry.

as I mentioned Swing is not going to become a part of the JDK

Did you mean SwingX? Swing has been a part of the JDK since around 1.2.
 
S Chan
Ranch Hand
Posts: 51
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you are new to UI development, Swing is the best choice you've got.

It's simple. - If you are an experienced Java developer, you would find Swing fairly easy to pick up because it's very "Java-ish". No need to write XMLs, properties files, etc...
It's got LOADS of tutorials on the web. - Stuck on something? Just google it and you get lots of results.
It's very generic. - It comes with JDK - no need extra library
It's "lightweight"
It is ready on all Java IDEs - If the IDE supports the common Java libraries like util, io, math..., I don't see why it doesn't support awt and swing
It is platform independent both in terms of expression (Java) and implementation (Look-and-Feel). - Seriously, it's very easy to switch the look and feel if you want to write a platform independent app.
It's got a good handful of different UI elements for you to choose from.
It is highly extensible and customisable. - You can create/extend your own UI elements easily if that is required.
 
S Chan
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Manny Garcia wrote:I've noticed that Netbeans has a lot of support for Swing though as I mentioned Swing is not going to become a part of the JDK.


I am pretty sure for the next five years, at least, Swing would be still the fundamental UI framework that comes with the basic JDK.

Desktop UI design is not like Web UI. The web ui changes very quickly but if you look at Desktop UI in the last ten or twenty years, it doesn't change much. From Windows 3.1 to modern days, other than the look and feel, what's really changed? You still get windows, menu bars, tabs, scrollbars, buttons, text fields, radio buttons, drop down box, grid/table, etc... What's really "new" from all this time?? Swing can pretty much supports most of the modern UI design requirements.

I can't speak for the future, but I seriously don't think Swing would become outdated or not catching up with time in the next few years. May be the look and feel that can change from years to years, but we are still clicking the same old buttons, viewing the same old windows and dragging the same old scroll bars.
 
Mohamed Sanaulla
Saloon Keeper
Posts: 3159
33
Google App Engine Java Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just for variety: You can have a look at Adobe AIR.

 
Nam Ha
Ranch Hand
Posts: 50
Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What is a good UI framework to use for a desktop application?


I have worked on a Java desktop application which is based on JIDE framework:

http://www.jidesoft.com/

It is a great Desktop UI framework. Have a look.
 
Darryl Burke
Bartender
Posts: 5132
11
Java Netbeans IDE Opera
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jide is based on Swing. And it's not free.
 
Nam Ha
Ranch Hand
Posts: 50
Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Darryl Burke wrote:Jide is based on Swing. And it's not free.

What problems if it is based on Swing?

Yes, JIDE is not free, I was involved in a commercial application so it does not matter.
 
Manny Garcia
Greenhorn
Posts: 28
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Wow thanks for all of the replies. I've got the day off and the whole weekend ahead of me so I'll start checking out my options immediately.

Best Regards,

Manny
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic