我需要允许我的用户在my表中编辑文件名值。所以在我的tableviewer中,我添加了代码来创建和显示我上一栏中的编辑按钮。我有这个工作。
当他们点击编辑按钮时,我想要一个对话框,在文本框中打开文件名,并带有保存和取消按钮。
所以我创建了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();
}
从tableviewer中的按钮单击打开对话框的最佳步骤是什么?
答案 0 :(得分:2)
通常,您只需在Dialog
的{{1}}方法中创建并显示handleEvent
即可。
要获得Listener
,您可以将Shell
移至Dialog
以下任何一项:
new EditFileNameDialog(getTable().getShell());
或
new EditFileNameDialog(new Shell());