2011-01-14 13 views
8

Recibo una larga lista de errores. ¿Alguien puede sugerirme dónde me estoy equivocando con GroupLayout?GroupLayout dando error con swing java

layout.setHorizontalGroup(
    layout.createSequentialGroup() 
     .addComponent(new JLabel("Enter Book Name")) 
     .addComponent(new JTextField("TextField", 20)) 
); 

error:

 
    Exception in thread "main" java.lang.IllegalStateException: 
     javax.swing.JTextField[,0,0,0x0,invalid,layout=javax.swing. 
      plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0, 
      alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$ 
      [email protected],flags=296,maximumSize=, 
      minimumSize=,preferredSize=,caretColor=sun.swing. 
      PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax 
      .swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true 
      ,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0, 
      bottom=0,right=0],selectedTextColor=sun.swing. 
      PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax. 
      swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=20, 
      columnWidth=0,command=,horizontalAlignment=LEADING] 
      is not attached to a vertical group 
      at javax.swing.GroupLayout.checkComponents(Unknown Source) 
      at javax.swing.GroupLayout.prepare(Unknown Source) 
+4

¿Qué error estás obteniendo? –

+0

Yo mismo, evito usar este diseño al codificar manualmente mi GUI. Hay muchos más fáciles de usar. –

+0

Recomiendo un diseño basado en tabla como el diseño principal para cualquier GUI. Busque "administrador de diseño de tabla java"; usted puede encontrar el mío en http://www.softwaremonkey.org/Code/MatrixLayout –

Respuesta

15

Cuando se utiliza GroupLayout, tiene que especificar una horizontal y una vertical de diseño. Cada componente debe especificarse exactamente una vez en cada grupo. No hacer esto causa este error.

Además, asegúrese de cruzar la trama de cada elemento correctamente. Si está haciendo una cuadrícula, asegúrese de que ambas direcciones sean secuencias de paralelos o viceversa. Si está haciendo una fila de botones o algo así, asegúrese de que sean paralelos en una dirección y secuenciales en otra.

+0

Gracias, realmente resuelves mis problemas ... a diferencia de @SoftwareMonkey. – matheusvmbruno