最終的に出来上がるHTML的には、ぜんぜん褒められたものにはならないのが悲しい所だけど、現状のVisual Web JSFで楽に作るなら、こういうのを駆使してやっていくのだと思う。
もっといい方法あるかな?
たぶんないですね。パネルは自然と多用せざるを得ない。今回のサンプル程度ならば絶対座標でも割とどうにでもなりますが、高さが動的に生成されやすいメッセージリストやデータ表などを使うには必須の方法です。ということでカラム数1のグリッドレイアウトは頻繁に使います。今回のように横方向に並べたい場合はおいらはフローレイアウトを使えるパネルを利用しています。
ただし、パネル系は生成されるhtmlに注意です。
標準コンポーネントとWoodstockののグループパネルはspanタグで生成されます。どちらも同じ日本語名ですが、中身は違います。また、Woodstockのグループパネルはビジュアルデザイナ上でのcss表示が苦手のようです。変な位置に描画されます(実行やプレビューでは問題ありません)。
レイアウトパネルはフローレイアウトとグリッドレイアウトが使えるのでオススメです。また、タグもDIVですので最も使いやすいパネルとなります。
グリッドパネルはtableタグによるレイアウトです。きれいに並んだ表のように扱うときに使います。あくまでも固定的なレイアウトですが。グループパネルと違って、Woodstock レイアウトのタブと標準のタブにあるグリッドレイアウトは同一です。どちらではりつけても標準のグリッドレイアウトを使うことになります。
個人的にはグループレイアウト登場前のSwing触ってる感覚なのであんまり違和感はないですが、グループレイアウトがWebでもほしいですね。
空白のためにパネルというのはコンポーネントがもったいないからラベルに対して処理をしたほうがいいと思う。幅を長くするか、マージン設定をいれる。6.1からはデフォでコンポーネントバインディングしないので多少ましだとは思うけれども。