Java Java GUI Development: SWING vs. Other Libraries

Click For Summary
Java developers commonly use Swing for creating graphical user interfaces (GUIs), despite it being considered an older technology. Swing offers a rich set of components that maintain a consistent look across different operating systems, unlike AWT, which varies by platform. Although AWT was historically used, it has largely fallen out of favor due to its limitations. Some developers also utilize SWT and JFace, particularly in the context of the Eclipse IDE, as these provide a more native OS experience. For web applications, many programmers are transitioning to HTML, CSS, and JavaScript frameworks like ExtJS or Elm. Tools like NetBeans and IntelliJ offer GUI designers that facilitate the creation of interfaces through drag-and-drop functionality, although care must be taken with dependencies. Mixing AWT and Swing components is discouraged due to potential issues. For those starting with Java GUI, learning AWT before moving to Swing is common, but it's important to note that Android GUI development differs significantly from both Swing and AWT.
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?
 
Technology news on Phys.org
It really depends on what you're building but you might start with Java AWT.
 
  • Like
Likes jedishrfu
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 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 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 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).
 

Similar threads

  • · Replies 0 ·
Replies
0
Views
632
Replies
3
Views
3K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 0 ·
Replies
0
Views
1K
  • · Replies 9 ·
Replies
9
Views
2K
Replies
5
Views
1K
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K