2011-01-14 10 views
8

長いリストのエラーが発生しています。誰でも私に間違っていてどこにGroupLayoutとお勧めしますか?GroupLayoutがJava swingでエラーを返す

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

エラー:

 
    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

どのようなエラーが表示されますか? –

+0

自分でGUIを手作業でコーディングするときは、このレイアウトを使用しないでください。とても使いやすいものがたくさんあります。 –

+0

私はどのGUIの主要なレイアウトとしてテーブルベースのレイアウトをお勧めします。 "java table layout manager"を検索してください。あなたはhttp://www.softwaremonkey.org/Code/MatrixLayoutで私を見つけることができます –

答えて

15

あなたはGroupLayoutを使用する場合、あなたは水平および垂直レイアウトを指定する必要があります。各コンポーネントは、各グループ内で正確に1回指定する必要があります。これを行わないとこのエラーが発生します。

さらに、各項目を適切に交差するように確認してください。あなたがグリッドを作っているなら、両方の方向が並行しているか、その逆であることを確認してください。あなたがボタンや何かの行を作っているならば、それは一方向に並行していて、もう一方は連続していることを確認してください。

+0

ありがとう、あなたは本当に@SoftwareMonkeyとは違って、私の問題を解決する。 – matheusvmbruno