Eclipseプラグインを作ってみよう!

第7回 画面の作成(2)

この記事を読むのに必要な時間:およそ 6 分

Fieldクラスの作成と一覧表示

テーブルを表示することができましたので,次は表示するデータを考えてみます。まずテーブルに1行ずつ表示するデータはフィールドの情報なので,それを保持するクラスを作成しましょう。

Fieldクラス

public final class Field {
    private String fName;
    private String fDescription;
    private boolean fRequired;
    private String fMessage;

    public Field(final String name) {
        if (name == null) {
            throw new NullPointerException();
        }
        fName = name;
        fDescription = "";
        fRequired = false;
        fMessage = "";
    }

    public String getName() {
        return fName;
    }

    public void setName(final String name) {
        if (name == null) {
            throw new NullPointerException();
        }
        fName = name;
    }

    public String getDescription() {
        return fDescription;
    }

    public void setDescription(final String description) {
        if (description == null) {
            throw new NullPointerException();
        }
        fDescription = description;
    }

    public boolean isRequired() {
        return fRequired;
    }

    public void setRequired(final boolean required) {
        fRequired = required;
    }

    public String getMessage() {
        return fMessage;
    }

    public void setMessage(final String message) {
        if (fMessage == null) {
            throw new NullPointerException();
        }
        fMessage = message;
    }
}

Fieldクラスはフィールド名,説明,必須かどうか,メッセージの各プロパティーを持ち,それらのgetter/setterメソッドを提供するクラスです。続いて,FieldsPageクラスでサンプルデータを作成し,表示してみます。

サンプルデータを作成し,テーブルに一覧を表示する

private class FieldsBlock extends MasterDetailsBlock {
    @Override
    protected void createMasterPart(
                    IManagedForm managedForm,
                    Composite parent) {
        ...
        section.setClient(composite);
        
        for (Field field : createSample()) {
            TableItem item = new TableItem(table, SWT.NONE);
            item.setText(0, field.getName());
            item.setText(1, field.getDescription());
        }
    }

    ...
    
    private List createSample() {
        List fields = new ArrayList();
        
        Field field1 = new Field("name");
        field1.setDescription("名前");
        field1.setRequired(true);
        field1.setMessage("名前は必須です。");
        
        fields.add(field1);

        Field field2 = new Field("phone");
        field2.setDescription("電話番号");
        field2.setRequired(true);
        field2.setMessage("電話番号は必須です。");
        
        fields.add(field2);
        
        Field field3 = new Field("address");
        field3.setDescription("住所");
        field3.setRequired(false);
        
        fields.add(field3);
        
        return fields;
    }
}

それでは実行してみましょう。作成したサンプルデータが一覧表示されます。

作成したサンプルデータが一覧表示されました

作成したサンプルデータが一覧表示されました

著者プロフィール

松藤秀治(まつふじひではる)

Piece Frameworkのプログラマー。担当はEclipseのプラグインとして開発されているPiece Frameworkの統合開発環境Piece_IDE。2007年5月に株式会社アイテマンを設立。

コメント

コメントの記入