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)));
#こうやって書いてみると案外直感的かもしれない