2011/03/24

[Java] NetBeansでJTableで「Bean Binding」を使ってみる

NetBeansには、「Bean Binding」という便利な機能があって、
その機能を使えば簡単にJTableにデータを設定できるようです。

以下のような機能を持つサンプルを交え、「Bean Binding」を使用してみます。
・「追加」ボタンを押下するとJTableにDTOのデータが追加される。

1.ライブラリを追加する

Bean Bindingを使うので、ライブラリを追加します。
プロジェクトを選択し、右クリック->プロパティを選択します。
ダイアログが開くので、「ライブラリ」を選択します。
その後、ライブラリの追加を押下します。
「Beans Binding」というのがあるので、そちらを選択し追加します。

2.バインドさせるDTOを作成する

バインドさせるためのDTOを作成します。
今回はこんな感じのDTOを作成しました。
public class SampleDTO {

    private String userId;
    private String userName;

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserId() {
        return userId;
    }

    public String getUserName() {
        return userName;
    }
}

3.Bindさせるためのコードを作成する

1でリンクしたライブラリには、Bindを容易にするためのクラスが実装されています。
ObservableCollectionsというクラスで、こちらを使用してBindするためのコードを作成します。

以下のようなコードになります。
public class SampleTable {

    private List sampleDtoList = 
            ObservableCollections.observableList(new ArrayList());

    public List getSampleDtoList() {
        return this.sampleDtoList;
    }

    public void setSampleDtoList(List sampleDtoList) {
        this.sampleDtoList = sampleDtoList;
    }
 
 〜〜〜中略〜〜〜
}

4.追加ボタンのアクションを設定する

追加ボタンを押下したら、SampleTableのsampleDtoListにSampleDTOを追加するコードを作成します。
以下のようなコードになります。
    private void btnShowActionPerformed(java.awt.event.ActionEvent evt) {

        SampleDTO dto = new SampleDTO();
        dto.setUserId("1");
        dto.setUserName("しがのん");
        this.sampleDtoList.add(dto);
    }

5.JTableとDTOを紐付ける

JTableとDTOを紐付けるための設定をします。

JTableを右クリックし、表の内容を選択します。
表示されたダイアログの「バインド」を選択します。

「式をバインド」の箇所に「sampleDTOList」を設定するのがポイントです。

設定が終わったら、列の設定をします。

DTOのプロパティを記述するのがポイントです。

完了したら「閉じる」を押下して完了です。

6.テストする

以上1〜5で「Bean Binding」の設定が完了です。
早速テストしてみます。


追加を押下すると↓


行が追加されています。

すごいシンプルなコードでJTableにデータが追加できました。
この機能がなかったら、ごりごりコードを書くはめでしたが、この機能のおかげですごいシンプルに実装できました。
この機能を使ってDBの結果等もシンプルにJTableに設定できそうです。

0 件のコメント:

コメントを投稿