Tak jak kolega @Maniak napisał, jeden z najbardziej zaawansowanych programów desktopowych napisanych w Javie, jest zrobiony z użyciem swinga, żeby było jeszcze fajniej IntelliJ w wersji Community jest open source i jego pełny kod możesz podejrzeć sobie tutaj:
https://github.com/JetBrains/intellij-community
Swing vs JavaFx - Ogólnie sprawa ma się taka że dawno dawno temu było AWT (abstract window toolkit) -> Swing -> Java Fx. JavaFx jest "najnowsza" z rodziny.
Kiedyś pracowałem w firmie gdzie zajmowaliśmy się tworzeniem dedykowanego oprogramowania z wykorzystaniem właśnie Swinga (tak jak ludzie z JetBrains). Nie ma tutaj za dużej alternatywy.
Od siebie dodam że pisanie w Javie aplikacji desktopowych to taki trochę średni pomysł, nie ma czegoś takiego że jeden dany język nadaje się super do wszystkiego, i właśnie Java tak średnio się nadaje do aplikacji desktopowych. Na tym polu ma zdecydowanie więcej wad niż zalet. A jeden świetny projekt w postaci IntelliJ tego nie zmieni ;)