ArcNexus
Estás cayendo una de las primeras y peores prácticas..
 IGNORAR UNA EXCEPCION!! 
El mal ejemplo de Luis es en parte lo que está haciendo caer en dicha práctica..   
Código &:
Ver originalpublic void run() {
         try {
                    UIManager.setLookAndFeel("org.pushingpixels.substance.api.SubstanceLookAndFeel");
                    SubstanceLookAndFeel.setSkin("org.pushingpixels.substance.api.skin.BusinessBlackSteelSkin");
                } catch (Exception ex) {
// ACA ESTá tu problema, estás ignorando la expcetion que te está indicando
//cual es el PROBLEMA,  y lo que te está indicando es que TAL OBJ 
//....cannot be cast to javax.swing.LookAndFeel
                }
            }
  
Si te fijaras en mi comentario anterior, les estoy informando que INTERNAMENTE 
SubstanceLookAndFeel.setSkin() llama a 
UIManager.setLookAndFeel(), pero lo hace INSTANCIANDO apropiadamente un OBJETO 
javax.swing.LookAndFeel  
Esto NO ES VÁLIDO, NO TE VA FUNCIONAR 
 Cita:  UIManager.setLookAndFeel("org.pushingpixels.s  ubstance.api.SubstanceLookAndFeel");