Java Swing
Ranked 20 of 45 GUI frameworks by recommenders
Recommended as a free, consistent cross-platform Java GUI toolkit that runs well and feels native enough. Caveat: it requires more programming and does not look native.
Recommended as a free, consistent cross-platform Java GUI toolkit that runs well and feels native enough. Caveat: it requires more programming and does not look native.
37 people gave an opinion
- recommend it
- 20
- criticize it
- 17
- approval share
- 54%
Recommended in 10 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: not recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 20 people recommend itNeeds 10 or more, met.
- 1.1 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 10 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Consistent cross-platform, works everywhere
“Swing is still easily the best, most consistent, and most native-feeling cross-platform environment.”
Comment from 6 Jul 2026 in “Why low-latency Java still requires discipline?” “Works flawlessly at close to native speeds (GPU acceleration and all) on all platforms”
Comment from 22 Mar 2026 in “Windows native app development is a mess” “semi-sucks, but it also works on windows and it actually is not that bad”
Comment from 29 Sep 2026 in “Tcl/Tk 9.1” - Comment from 3 Mar 2026 in “Claude is an Electron App because we've lost native”
Runs fast on modest hardware
“Works flawlessly at close to native speeds (GPU acceleration and all) on all platforms”
Comment from 22 Mar 2026 in “Windows native app development is a mess” “they all ran fine on much poorer hardware than a modern browser on an M1”
Comment from 16 Feb 2026 in “JavaScript-heavy approaches are not compatible with long-term performance goals” “It was slow in 1999, which means it's fast now.”
Comment from 4 Nov 2025 in “Some software bloat is OK” Fits Java, less code
“ultimately fit the language better than trying to bridge to Win32 or GTK/QT”
Comment from 22 Mar 2026 in “Windows native app development is a mess” “so happy we could write UIs directly and a lot less code to understand”
Comment from 22 Mar 2026 in “Reports of code's death are greatly exaggerated” Mature and battle-tested
“It's already battle tested and deployed everywhere you have Java.”
Comment from 3 Mar 2026 in “Claude is an Electron App because we've lost native” “it was Swing that gained HighDPI support first (10 years ago)”
Comment from 17 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future”
What people warn about
Each mark is one comment
Looks ugly, not native
“neither really looks like native, which has been a consistent complaint about them”
Comment from 18 Oct 2026 in “JDK 28” “SWT and Swing will likely remain as ugly as they are for the next century”
Comment from 3 May 2026 in “Windows API Is Successful Cross-Platform API” Feels slow and heavy
“GUI programming with Swing felt like molasses compared to native GUIs at that time”
Comment from 1 Apr 2026 in “Oracle slashes 30k jobs with a cold 6 a.m. email” “did not feel lightweight at all on the hardware of the time”
Comment from 3 Mar 2026 in “Zclaw – The 888 KiB Assistant”
Other GUI frameworks people recommend
The four most recommended other GUI frameworks, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Qt | 191 | 133 | 59% | 12 | 15 yrs7 owners | — |
| GTK | 85 | 118 | 42% | 12 | — | — |
| Windows Forms | 76 | 33 | 70% | 12 | 15 yrs3 owners | Approved |
| SwiftUI | 75 | 121 | 38% | 11 | 4 yrs8 owners | — |
| Java SwingThis page | 20 | 17 | 54% | 10 | — | — |
What people said
37 of the 40 comments that mention it, newest first. Each links to the original comment.
“Swing was a joke compared to TkInter”
“It's not a good option for building a long term desktop application UI now though.”
“neither really looks like native, which has been a consistent complaint about them”
“semi-sucks, but it also works on windows and it actually is not that bad”
“Swing and JavaFX are also quite good, however require additional programming”
“QT, Java Swing and Flash used to be this way historically”
“Swing is still easily the best, most consistent, and most native-feeling cross-platform environment.”
“When I learned Java Swing and elements were defined programmatically as percentages of their container that was kind of eye opening to me”
“windows have no minimum size because Swing doesn't expose that functionality”
“Swing being a glitchy pile of junk”
“Outside of Swing (which lacks access to a native browser element)”
“SWT and Swing will likely remain as ugly as they are for the next century”
“which were a disaster for desktop apps”
“it's not a bad UI toolkit and widget set”
“for technical reasons fell short”
“Swing is the new hotness now?”
“GUI programming with Swing felt like molasses compared to native GUIs at that time”
“Works flawlessly at close to native speeds (GPU acceleration and all) on all platforms”
“so happy we could write UIs directly and a lot less code to understand”
“ultimately fit the language better than trying to bridge to Win32 or GTK/QT”
“Oracle/Sun was cheap and lazy.”
“Swing was simpler in some ways than JavaFX.”
“it was Swing that gained HighDPI support first (10 years ago)”
“It's already battle tested and deployed everywhere you have Java.”
“did not feel lightweight at all on the hardware of the time”
“enjoying pure Java development on desktop (Swing, SWT, JavaFX)”
“The reason these GUIs don't provide an API like shown in [1] is because it's an impractical design.”
“Native GUI libs look like shit out of the box, and are terrible to work with”
“they all ran fine on much poorer hardware than a modern browser on an M1”
“Java swing is way underrated despite being very complex.”
“Should just use javafx or swing”
“it's what puts me off writing GUI apps in Clojure”
“they only solved the widget part in my opinion”
“Nothing is as easy as JS/HTML/CSS.”
“none was as productive as VB for simple apps”
“Swing has no place in a sentence about good usability.”
“It was slow in 1999, which means it's fast now.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.