0

ユーザーが自分のテーブルのファイル名の値を編集できるようにする必要があります。そのため、テーブルビューアで、最後の列に編集ボタンを作成して表示するコードを追加しました。私はこれを機能させています。

編集ボタンをクリックすると、保存とキャンセルのボタンが付いたテキストボックスにファイル名が表示されたダイアログボックスが開きます。

そこで、FileNameDialogクラスを作成しました。

私の質問は、ダイアログをどこで作成するかです。

  • ベースダイアログでメソッドを作成し、テーブルビューアからメソッドを呼び出しますか?


class SelectionListener implements Listener {
    TableItem item;
    Button editButton;
    Object element;

    public SelectionListener(TableItem item, Button deleteButton, Object element) {
        this.item = item;
        this.editButton = deleteButton;
        this.element = element;
    }

    public void handleEvent(Event event) {
        AplotPDFDataModel.FileNameData selected = (( AplotPDFDataModel.FileNameData)element);
        int index = AplotPDFDataModel.getInstance().getIndexOf(selected);
        pdfDialog.showEditFileNameDialog();  <<++++++++HERE

        Table table = getTable();
        table.getColumn(5).pack();
        table.getColumn(5).setWidth(100);
    }
} // End SelectionListener Class
  • テーブルビューアでメソッドを作成し、そこでダイアログを作成するだけですか?


public void showEditFileNameDialog() {
    editFileNameDialog = new EditFileNameDialog(getShell());
    editFileNameDialog.create();
    editFileNameDialog.getShell().setSize(300, 200);
    editFileNameDialog.open();  
}

テーブルビューアのボタンクリックからダイアログを開くための最良の手順は何ですか?

4

1 に答える 1

2

通常はDialog、のhandleEventメソッドでを作成して表示するだけですListener

を取得するには、次Shellのいずれかに渡すことができます。Dialog

new EditFileNameDialog(getTable().getShell());

また

new EditFileNameDialog(new Shell());
于 2012-10-18T14:23:21.573 に答える