2012-01-03 25 views
1

Java SwingのGroupLayoutの使い方を勉強しようとしています。GroupLayoutでコンポーネントを重ねて表示

まず、JLabelsで作成したグリッドを作成したいだけです。

私が抱えている問題は、JLabelsが互いに重なり合うように(すなわち、同じ場所にあるので、一方が他方を隠すように)レンダリングされているということです。私はラベルが正しく配置されるように取得するにはどうすればよい

layout.setHorizontalGroup(
    layout.createSequentialGroup() 
     .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) 
      .addComponent(one) 
      .addComponent(two) 
      .addComponent(three)) 
); 
layout.setVerticalGroup(
    layout.createParallelGroup(GroupLayout.Alignment.LEADING) 
     .addComponent(one) 
     .addComponent(two) 
     .addComponent(three) 
); 

:以下

欄の3つのJLabelどうあるべきかについての私のコードです。

おかげあなたも(あなたが一つに別個の行としないすべてをwan't)の代わりにシーケンシャルものでなければならない並列グループを構築している垂直レイアウトで

答えて

4

layout.setVerticalGroup(
    layout.createSequentialGroup() 
    .addComponent(one) 
    .addComponent(two) 
    .addComponent(three) 
); 

備考:この例では、水平レイアウトに逐次グループは必要ありません。

+0

お返事ありがとうございます。私はなぜそれがうまくいったのか分からなかったが、私は逐次グループと並行グループの違いを誤解していたと思う。私は単純に逐次グループがx軸を定義し、並列グループがy軸を定義していると考えていましたが、Oracleチュートリアルを再読み込みした後、Horizo​​ntalまたはVerticalグループを定義しているかどうか、同じスペース。そのため、並列グループはコンポーネントを同じレベル(xまたはy軸)に配置し、順次グループはそれらを区切ります。 – Joe

関連する問題