2011-01-14 17 views
8

Mi viene visualizzato un lungo elenco di errori. Qualcuno mi può suggerire dove sto andando male con GroupLayout.GroupLayout che genera errori con java swing

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

Errore:

 
    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

Che errore ottieni? –

+0

Io stesso, evito di usare questo layout quando codifico a mano la mia GUI. Ci sono così tanti più facili da usare. –

+0

Raccomando un layout basato su tabella come layout primario per qualsiasi GUI. Cerca "java table layout manager"; puoi trovare il mio su http://www.softwaremonkey.org/Code/MatrixLayout –

risposta

15

Quando si utilizza GroupLayout, è necessario specificare una orizzontale ed un layout verticale. Ogni componente deve essere specificato esattamente una volta in ciascun gruppo. Non farlo causa questo errore.

Inoltre, assicurarsi di incrociare correttamente ciascun elemento. Se stai facendo una griglia, assicurati che entrambe le direzioni siano sequenze di paralleli o viceversa. Se stai facendo una fila di pulsanti o qualcosa, assicurati che siano paralleli in un modo e sequenziali un altro.

+0

Grazie, hai davvero risolto i miei problemi ... a differenza di @SoftwareMonkey. – matheusvmbruno