Skip to main content

IntelliJ IDEA 5.0 and custom look-and-feel

Posted by kirillcool on August 9, 2005 at 12:55 PM PDT

IntelliJ IDEA 5.0 is out, and since one of my projects is on the approved list, I seized an opportunity to start working with it.

While some of the features are not for me (such as JSP 2.0, J2ME and CSS support), others come in very handy (one of my favourites is an insanely fast code inspector). One of the features (that was already present before) allows you to switch look-and-feels of the application (as it is completely written in Swing). While not as user-friendly as in JFormDesigner 2.0 (navigate to a jar file that implements the desired look-and-feel and it's loaded and referenced for all future invocations), it's not impossible. Here's how you can do it (based on my Substance look-and-feel):

  1. Take the jar file of your LAF (substance.jar in my case) and put it under IDEA/lib and IDEA/jre/lib/ext directories, where IDEA is IDEA 5.0 installation directory.
  2. Create a new file under IDEA/jre/lib/ named swing.properties.
  3. Edit this file adding the following entries:
    swing.installedlafs = motif,windows,metal,substance
    swing.installedlaf.motif.name = CDE/Motif
    swing.installedlaf.motif.class = com.sun.java.swing.plaf.motif.MotifLookAndFeel
    swing.installedlaf.windows.name = Windows
    swing.installedlaf.windows.class = com.sun.java.swing.plaf.windows.WindowsLookAndFeel
    swing.installedlaf.metal.name = Metal
    swing.installedlaf.metal.class = javax.swing.plaf.metal.MetalLookAndFeel
    swing.installedlaf.substance.name = Substance
    swing.installedlaf.substance.class = org.jvnet.substance.SubstanceLookAndFeel

    Here, instead of substance, put your favourite LAF.

  4. Run IntelliJ IDEA 5.0
  5. Go to Settings -> IDE tab -> Appearance and click on Look and feel combobox
  6. You will see a list of bundled LAFs (Alloy and IDEA) and your newly added LAF:


  7. Choose it and press Apply

Here a few screenshots of IntelliJ IDEA 5.0 under Substance look-and-feel:




For me as a look-and-feel developer, IDEA 5.0 comes very handy:

  • It has a lot of screens and controls, so an existing bug is likely to appear sooner
  • It comes with bundled JRE 5.0, which Substance LAF requires
  • It is completely Swing-based, so it makes heavy use of LAF

However, there are some things that I wish weren't such:

  • A lot of custom widgets with custom painting (progress bar is one of them)
  • Some problems in turning the JFrame and JDialog decorations on (they come out borderless and without decorations) - probably my bug
  • Menus are drawn in pre-Ocean Metal theme, but that's also probably my bug

And the last two items bring me back to the "handy list" - bugs to solve in Substance :(

Related Topics >>