2011-01-14 20 views
8

Uzun bir hata listesi alıyorum. GroupLayout ile yanlış nereye gittiğimi kimse önerebilir.GroupLayout java swing ile hata veriyor

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

Hata: GroupLayout kullandığınızda

 
    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

Ne tür bir hata alıyorsunuz? –

+0

Kendim, GUI'leri el ile kodlarken bu düzeni kullanmaktan kaçınıyorum. Kullanması çok daha kolay olan var. –

+0

Herhangi bir GUI için birincil düzen olarak tablo tabanlı bir düzen öneririm. "Java tablo düzeni yöneticisi" için arama yapın; http://www.softwaremonkey.org/Code/MatrixLayout –

cevap

15

, bir yatay ve bir dikey düzeni belirtmek gerekir. Her bileşen her grupta tam olarak bir kez belirtilmelidir. Bunu yapmamak bu hataya neden olur. Ayrıca, her bir öğeyi doğru şekilde çizdiğinden emin olun. Eğer bir ızgara yapıyorsanız, her iki yönün paralellik sıraları veya tersi olduğundan emin olun. Bir sıra düğme veya bir şey yapıyorsanız, bunların bir şekilde paralel olduğundan ve bir diğerinin ardışık olduğundan emin olun.

+0

Teşekkürler, gerçekten benim problemlerimi çözüyorsun ... yazılımın aksine. – matheusvmbruno