NetBeans 6.1 の新機能 その3
VisualWebJSFで変わった場所がないか調べてみる。
パレットがかわった

単純にbasic(日本語版だと基本)とかいう表記をやめてWoodstockという表記が入るようになった。おかげで標準コンポーネントと間違えにくいので改善点と思って間違いないだろう。
woodstockのバージョンがあがった
おかげで6.0で作ったものを6.1で開いたプロジェクトはもはや6.0では開けない。注意しよう。
追加されたコンポーネントはアコーディオンとバブル、ポップアップメニューの3つ。
アコーディオンは動作確認辞退していないのだが、タブは非常に重くて使いにくいのでこれも使わないかもしれない。・・・と思ったけどタブ同様ほしい場面は確かに少ないながらもある。この類は1画面に登録されるコンポーネント数が飛躍的に増える仕組みでもあるので遣い方は注意しないといけない。コンポーネントツリーが肥大化するとPOSTするのに時間がかかるからだ。
ポップアップメニューは使用してみたが、使い物にならないようだ。文字数をポップアップメニューの幅として計算するのだが、全角文字は2文字として数えていないために表示がおかしくなるようだ。つまりいまのところ使い物にならない。
最後にバブル。いわゆる吹き出しを表示するポップアップなのだが、これは待望の新機能だ。クリックしたりマウスオーバー等で表示させることにより直感的なヘルプや詳細情報が可能になる。バブル内はコンポーネントを自由にレイアウトできるので簡易的なダイアログのような使い方も可能だ。
さっそくVisualWebJSFで使ってみる。
・・・どうもそれをサポートする機能が見えない。exampleを見る限り、javascriptのイベントを書かないといけないようだ。しかもコンポーネントのidを指定するために少々面倒なことになる。JSFで表示されるidはそのままhtmlのidにならないためだ。これはレイアウトインスペクタ(CTRL+ALT+コンポーネントをクリック)を起動してidを確認しないといけないことを表す。woodstockサポート機能としては弱いなぁ。せめてJSFのコンポーネントを指定したら自動生成してほしいのに。
そしてイベントを書いてみる。こんな感じで。
onMouseOver="document.getElementById('form1:bubble1').open(event);"
お、こいつ動くぞ!

表示されたのはいいのだが、サンプルにあるようにふきだしのとんがった部分が表示されない。jspを比較しても違いは特に見受けられない。違いといえばstyle指定があるかどうかだ。VisualWebJSFでそのまま貼り付けると絶対座標でstyle指定が自動で入るのでここを削除してみる。

ビンゴ。
どうやら、座標系のスタイルを入れないと、自動的にイベント発生もとのコンポーネントから座標が生成されるようだ。すばらしい。
ただし、IEだと表示がおかしくなるのは直っていない。woodstockコンポーネントはIEだと表示が変わってしまうのが非常に多いのだが、IEはサポート外なのだろうか。ユーザー数は一番多そうなのだが。そもそもGlassfishのサイトがIEだと見ることができないのでwoodstock等サブプロジェクトもまったく見ることはできません。
まーわかってしまえばたいしたことはないのだが、もうちょっとなんとかならないのかなぁというのが正直な感想。ただし、かなりバブルヘルプは使える!業務アプリでも一般のアプリでも大活躍するだろう。「?」マークのアイコンでもおいておけばいいのだから。