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/extdirectories, where IDEA is IDEA 5.0 installation directory.
  2. Create a new file under IDEA/jre/lib/
  3. Edit this file adding the following entries: 
    swing.installedlafs = motif,windows,metal,substance = CDE/Motif
    swing.installedlaf.motif.class = = Windows = = Metal
    swing.installedlaf.metal.class = javax.swing.plaf.metal.MetalLookAndFeel = 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 :(