Java GUI Development: SWING vs. Other Libraries

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
8 replies · 2K views
levadny
Messages
32
Reaction score
16
Dear friends!

Please explain me what API/Libraries uses in Java for create graphic user interface. I use SWING but I hear that SWING is oldest technology. What you uses?
 
Physics news on Phys.org
Swing is still the thing. It's been around but GUIs don't really change that much on the application side. A smaller group of programmers have used SWT and JFace (most notably the Eclipse IDE developers its more OS native like)

Some folks have branched into web technology in which case its most likely html+css+javascript or a javascript ibrary like ExtJS or more recently Elm.
 
I'm not a fan of AWT. Historically, Swing replaced AWT because deficiencies in it its GUI programming model. I think it was too geared toward MS Windows technology.

http://stackoverflow.com/questions/408820/what-is-the-difference-between-swing-and-awt

From this article it says Swing is more of a pure java GUI. Its the same across platforms vs AWT which changes from platform to platform.

Also for Swing, there's a nice GUI designer in Netbeans that uses drag and drop to create your GUI design. You then wire in the code behind the GUI which gets trickier. I've seen some programmers at work really do some amazing stuff with it.
 
  • Like
Likes   Reactions: Borg
jedishrfu said:
Also for Swing, there's a nice GUI designer in Netbeans that uses drag and drop to create your GUI design. You then wire in the code behind the GUI which gets trickier. I've seen some programmers at work really do some amazing stuff with it.
IntelliJ has something similar but you have to be careful with the dependancies. Sometimes the IDEs create dependancies on their own jars when you use certain features.
 
Ok. Thanks a lot for all.
I start learn Java GUI from AWT. After study SWING. And it's all.
I use java only for Win application. May bee after for android in future.
 
One caution is to not mix AWT with Swing components as youll run into a lot of odd problems.

Also Swing is a richer set of components that look the same no matter where your app runs ie windows or macosx or linux.
 
  • Like
Likes   Reactions: levadny
We used to utilize AWT more than ten years ago, to create some fancy applets. It is not used anymore by the vast majority of Java developers. Swing is still the thing as jedishrfu points out. You can start right from this in my opinion and I recommend this title https://www.amazon.com/dp/0596004087/?tag=pfamazon01-20 by OReilly publishing and of course the standard documentation from Oracle, for updated and full info. When it gets to create an interface for an app for the web, it is best to mix and match technologies and this includes Java frameworks as well.
 
Last edited by a moderator:
  • Like
Likes   Reactions: levadny
levadny said:
Ok. Thanks a lot for all.
I start learn Java GUI from AWT. After study SWING. And it's all.
I use java only for Win application. May bee after for android in future.
Note that the Android GUI is a rather different beast to either Swing or AWT. Most controls behave similarly, but things like the top level Activity class are very different (unless Swing has changed a lot in the last ten years).