NetBeansのVisual Web JSFは、JavaのWebアプリをぽとぺたで開発できる数少ない環境だと思う。
最近は、Eclipseもがんばってるみたいだけど、Eclipseのぽとぺたツールはイマイチな印象が強い(Visual Editorみたいに…)。
さて、Visual Web JSFでページを作るとデフォルトでグリッドレイアウト(絶対座標によるコンポーネントの配置)になってしまう。
ただし、この場合ちょっと困ったことがある。例を見てみよう。
デザイナ上でTextFieldのWidthを指定して、その横にぴったりエラーメッセージ等を表示するInlineMessageを配置する。TextFieldを必須入力に設定をして実行してみよう。
あぁ・・・TextFieldとInlineMessageがちょっとかぶってしまった。ということで、グリッドレイアウトだとデザイナ上と実際の表示がずれてしまって、どうにも悲しいことが頻発してしまう。
ということで、個人的にVisual Web JSFで画面を作るときにはグリッドパネルを多用して作っている。
同じ画面をグリッドパネルを使って作ると下のような感じになる。
ここで、グリッドパネルのcolumnsプロパティを3にすると綺麗に横並びになる。
これをブラウザで表示させて動かしてみてもばっちり。
LabelとTextFieldの間に、微妙な間を空けたいというときは、columnsを4にしてLabelとTextFieldの間に適当な幅のパネルを入れ込むことで実現できる。
こんな感じに。
最終的に出来上がるHTML的には、ぜんぜん褒められたものにはならないのが悲しい所だけど、現状のVisual Web JSFで楽に作るなら、こういうのを駆使してやっていくのだと思う。
もっといい方法あるかな?