What GUI libraries are the JetBrains using?

45,347

IntelliJ IDEA is a pure Java Swing application. All the custom components like editor tabs are created manually, no third-party libraries are used for this. You can find all the details by looking at the IntelliJ IDEA Community Source code.

Share:
45,347
Levi Putna
Author by

Levi Putna

Programming is my passion, I’m primarily a Java developer working with GIS, I also do some work with JavaScript, jquert, EXT JS , HTML and CSS developing front end mobile and web applications.

Updated on September 11, 2021

Comments

  • Levi Putna
    Levi Putna almost 3 years

    Background

    I am somewhat new to Java and am enjoying using IntelliJ IDE developed by the JetBrains team.

    I have downloaded the source for the Community Edition, and I am trying to work out what GUI libraries they are using to get the look-and-feel.

    Question

    What libraries (if any) are they using to get the non-native tabs, toolbars and breadcrumb component?

    The panels they are using are also interesting, however I get the feeling they were developed for the project and are not a library. Is this true?

    Can someone provide a breakdown of what is needed to produce a similar look-and-feel in a GUI project?

    Does anyone have tutorials for that? All I have been able to work out so far is that they are using Swing and jGoodies.

    What I Think So Far

    They are using Swing and jGoodies. The MyDoggy project is attempting to produce a similar docking framework, however I don't think this is used by IntelliJ.

  • Witold Kaczurba
    Witold Kaczurba almost 7 years
    Why would they not use JavaFX-8 for it?
  • CrazyCoder
    CrazyCoder almost 7 years
    @Vito maybe because IntelliJ IDEA was created back in 2000 when JavaFX didn't exist and now it's not feasible rewriting millions of lines of code and redesigning thousands of dialogs and UI elements for the doubtable benefits?
  • Zack Macomber
    Zack Macomber almost 5 years
    Really impressive what you've built with Java Swing. So many people speak ill of it but you've given the world a tremendous example that proves Java Swing is a very viable tool for building desktop apps.
  • majurageerthan
    majurageerthan over 4 years
    @CrazyCoder Still are you using swing and Java for Idea projects? (A doubt in 2020)
  • CrazyCoder
    CrazyCoder over 4 years
    @majuran yes, if you don't believe my word, the source code is open and linked in the answer.
  • majurageerthan
    majurageerthan over 4 years
    Yeah yeah I saw it, But still i am a junior kid, I am unable to understand it sir. That's why i asked
  • J. M. Becker
    J. M. Becker about 4 years
    @WitoldKaczurba, It would slow the interface to a crawl.
  • xpusostomos
    xpusostomos over 3 years
    I once tried to convert a swing application to FX, and found FX was in many ways more poorly designed than Swing. Unless you need the specific features that FX has, which as I recall were animation and special effects, Swing seemed like a better library to use. Of course, in 2020 both look a lot like abandonwear, and maybe Swing is actually less abandoned and more used, and so is a better option. My 2 cents.
  • ATL_DEV
    ATL_DEV about 3 years
    JetBrains IDEs are a lot snappier than Visual Studio on both Windows and Mac. While it doesn't have a native appearance on either platform, it's at least not glitchy, laggy nor ugly like so many cross platform applications. I hope JetBrains adopts Avalonia and assists its developers in turning it into a first class UI cross platform framework.
  • Brain
    Brain almost 3 years
    If you use Swing in the right way it is still powerful. The only other real option is to use OpenGL for java. JavaFX is no option at all.
  • cogmission
    cogmission over 2 years
    @Brain You are seriously in err. JavaFX is 1000 times more powerful; faster; more expressive and infinitely better designed than Swing (though I grew up on Swing, and love it as well).