2011-01-14 5 views
8

Ich bekomme eine lange Liste von Fehlern. Kann mir jemand vorschlagen, wo ich mit GroupLayout falsch liege.GroupLayout geben Fehler mit Java Swing

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

Fehler:

 
    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

Welchen Fehler bekommen Sie? –

+0

Ich vermeide es, dieses Layout zu verwenden, wenn ich meine GUI's handkodiere. Es gibt so viele einfachere zu benutzen. –

+0

Ich empfehle ein Tabellen-basiertes Layout als primäres Layout für jede GUI. Suche nach "java table layout manager"; Sie können meine finden unter http://www.softwaremonkey.org/Code/MatrixLayout –

Antwort

15

Wenn Sie Grouplayout verwenden, müssen Sie eine horizontale und eine vertikale Layout angeben. Jede Komponente muss in jeder Gruppe genau einmal angegeben werden. Wenn Sie dies nicht tun, wird dieser Fehler angezeigt.

Darüber hinaus sicherstellen, dass Sie jedes Element richtig überkreuzen. Wenn Sie ein Gitter erstellen, achten Sie darauf, dass beide Richtungen Parallelfolgen sind oder umgekehrt. Wenn Sie eine Reihe von Schaltflächen oder etwas erstellen, stellen Sie sicher, dass sie in einer Richtung und in einer anderen parallel sind.

+0

Danke, Sie lösen wirklich meine Probleme ... im Gegensatz zu @SoftwareMonkey. – matheusvmbruno