Hola:
Este error
org.jvnet.substance.api.UiThreadingViolationExcept ion: Component creation must be done on Event Dispatch Thread
significa lo siguiente. En java hay un hilo (Event Dispatch Thread) que es el encargado de dibujar las ventanas. El look and feel por defecto de java no es muy exigente y permite que hagas cosas en las ventanas fuera de ese hilo, en cualquier parte de tu código. Sin embargo, el look and feel de substance es más exigente y obliga a que cualquier modificación en la ventana se haga a través de ese hilo, haciendo saltar esa excepción si no es así.
Si sigues mirando las líneas de la excepción, el trozo de código tuyo que intenta hacer algo con la ventana fuera de ese hilo especial es el constructor de principal.java
at javaapplication1.principal.<init>(principal.java:2 0)
at javaapplication1.JavaApplication1.main(JavaApplica tion1.java:21)
UIDefaults.getUI() failed: createUI() failed for javax.swing.JPanel[,0,0,0x0,invalid,layout=java.awt.FlowLayout,alignm entX=0.0,alignmentY=0.0,border=,flags=9,maximumSiz e=,minimumSize=,preferredSize=] java.lang.reflect.InvocationTargetException
java.lang.Error
lo más probable es que estés intentando crear o hacer visible la ventana (habría que ver el código del constructor). Prueba a meter esa llamada en el hilo EDT, así
Código java:
Ver original public void run() {
// aqui cualquier cosa que afecte a la ventana, por ejemplo, el setvisible().
}
});
Si no quieres complicarte con esto, mira a ver otro look and feel que no sea tan exigente.
Se bueno.