BeansBinding試したいならNetBeans 6.1オススメ

http://d.hatena.ne.jp/kagamihoge/20080925/1222337488

の注釈に反応。


NetBeans 6.1ならばSwingのコンポーネントに対してBeansBindingの設定が可能です。どういうものかを試したいならマジオススメ。面倒な設定一切ゼロです。いきなり検証コードかけます。

たとえば、JFrameを継承したフォームにStringのプロパティを追加

    protected String value;
    public static final String PROP_VALUE = "value";

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        String oldValue = this.value;
        this.value = value;
        firePropertyChange(PROP_VALUE, oldValue, value);
    }

そしてバインドはグラフィカルに選択。階層構造になっても探せます。VisualWebJSFとかと同じですね。サーバーサイドもクライアントサイドもGUIによる設定はもはや常識だと思っていますのでこれも珍しくはないか。


これで、セッターからValueプロパティを更新しても、それが画面に反映されますし、画面上から入力をするとそれがValueプロパティに反映されます。JSFとか触ってる人には何にも不思議なところはないですね。


ただ、クライアントサイドのUIを行うためには上記のようにセッターゲッターのみではなく、イベントの発火が必要で、これがかなりの負担になります。JPAのエンティティもJavaSEのプロジェクトだと発火してくれるのですが、JavaEEだとそのコードが現れません。かなり不便です。つまり、エンティティを作成するのにJavaEEだけで開発をする場合においてもJavaSEのプロジェクトを作らないといけないんですね。

というわけでJavaSE7のプロパティ構文が早く来てほしいわけです。一年近く前の情報ですが、確か上のコードはこんな1行でいいはずです。

property String value bound;