Is Java Swing still in use?
Swing is still in use.... but there is AWT!!
AWT:
Pros:
- Speed: use of native peers speeds component performance.
- Look and Feel: AWT components more closely reflect the look and feel of the OS they run on.
Cons:
- Portability: use of native peers creates platform specific limitations. Some components may not function at all on some platforms.
- Third Party Development: the majority of component makers, including Borland and Sun, base new component development on Swing components. There is a much smaller set of AWT components available, thus placing the burden on the programmer to create his or her own AWT-based components.
- Features: AWT components do not support features like icons and tool-tips.
Swing:
Pros:
- Portability: Pure Java design provides for fewer platform specific limitations.
- Behavior: Pure Java design allows for a greater range of behavior for Swing components since they are not limited by the native peers that AWT uses.
- Features: Swing supports a wider range of features like icons and pop-up tool-tips for components.
- Vendor Support: Swing development is more active. Sun puts much more energy into making Swing robust.
- Look and Feel: The pluggable look and feel lets you design a single set of GUI components that can automatically have the look and feel of any OS platform (Microsoft Windows, Solaris, Macintosh, etc.). It also makes it easier to make global changes to your Java programs that provide greater accessibility (like picking a hi-contrast color scheme or changing all the fonts in all dialogs, etc.).
Cons:
- Performance: Swing components are generally slower and buggier than AWT, due to both the fact that they are pure Java and to video issues on various platforms. Since Swing components handle their own painting (rather than using native API's like DirectX on Windows) you may run into graphical glitches.
- Look and Feel: Even when Swing components are set to use the look and feel of the OS they are run on, they may not look like their native counterparts.
More Reading..
We still use it. Not everything is a web app, so far there have been some tentative replacements (such as SWT, which eclipse is written in)
SWT has a native layer that wraps the underlying calls to the native windowing layer. It only works for a limited set of platforms and of course requires some third party shared libraries. I would venture to say that there are far fewer SWT apps than Swing apps.
Swing is still there and well supported.
Most of the reasons why people hated swing when it first came out are no longer valid simply because of Moores Law, along with improved JVMs. Swing apps no loger feel jerky and unrepsonsive and an accumulation of minor improvements result in a more professional looking GUI.
Its also worth looking at the "groovy/swing" combination for rapid development and prototyping.
Yes. Roughly 1 out of 120 questions on StackOverflow is about Swing.