GroupLayoutの考え方2

http://d.hatena.ne.jp/jawagenjin/20080126/1201345648で書いたGroupLayoutの考え方の具体例。
ポイントは、水平方向のレイアウトを管理するHorizontalGroupは、水平方向のアライン(右詰めか、左詰め)を管理し、垂直方向のレイアウトを管理するVerticalGroupは垂直方向のアライン(ベースライン、センター)を管理するということ。

GroupLayout layout = new GroupLayout(this.getContentPane());
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
//水平方向のレイアウト
layout.setHorizontalGroup(layout.createSequentialGroup()
   .addGroup(layout.createParallelGroup(Alignment.TRAILING)
      .addComponent(labelA)
      .addComponent(labelB))
   .addGroup(layout.createParallelGroup(Alignment.LEADING)
      .addComponent(buttonA)
      .addComponent(buttonB)));
//垂直方向のレイアウト
layout.setVerticalGroup(layout.createSequentialGroup()
   .addGroup(layout.createParallelGroup(Alignment.BASELINE)
      .addComponent(labelA)
      .addComponent(buttonA))
   .addGroup(layout.createParallelGroup(Alignment.BASELINE)
      .addComponent(labelB)
      .addComponent(buttonB)));

#こうやって書いてみると案外直感的かもしれない