Upgrading an old Java Swing application using
Substance LAF to 5.3, the old method of instantiating org.jvnet.substance.SubstanceLookAndFeel fails as this class is now abstract. This is documented in the
release notes; however instantiating a concrete skin using:
UIManager.setLookAndFeel(new SubstanceBusinessBlueSteelLookAndFeel());
Causes the following error for most of them on OS X:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.apple.laf.AquaRootPaneUI cannot be cast to org.jvnet.substance.SubstanceRootPaneUI
Use the third recommended option instead:
SubstanceLookAndFeel.setSkin(new SubstanceBusinessBlueSteelSkin());
This usage resolves the issue for every skin I've tested.