The substance's gaze and feeling must be included in the Dispatch Thread event, inside invokeLater (), more to see in the API
SwingUtilities.invokeLater(new Runnable() { @Override public void run() { try { UIManager.setLookAndFeel( new SubstanceBusinessBlackSteelLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { throw new RuntimeException(e); } } });
runtime should be called SwingUtilities.updateComponentTreeUI (frame); then the jframe should be like a local variable
SwingUtilities.invokeLater(new Runnable() { @Override public void run() { try { UIManager.setLookAndFeel( new SubstanceBusinessBlackSteelLookAndFeel()); SwingUtilities.updateComponentTreeUI(frame); } catch (UnsupportedLookAndFeelException e) { throw new RuntimeException(e); } } });
source share