Java 从表格单元格按钮打开对话框
我需要允许我的用户在我的表格中编辑文件名值。因此,在我的tableviewer中,我添加了创建和显示上一列中的编辑按钮的代码。我有这个工作 当他们点击编辑按钮时,我希望打开一个对话框,其中包含一个文本框中的文件名以及一个保存和取消按钮 所以我创建了FileNameDialog类 我的问题是:在哪里创建对话框Java 从表格单元格按钮打开对话框,java,dialog,swt,tableviewer,Java,Dialog,Swt,Tableviewer,我需要允许我的用户在我的表格中编辑文件名值。因此,在我的tableviewer中,我添加了创建和显示上一列中的编辑按钮的代码。我有这个工作 当他们点击编辑按钮时,我希望打开一个对话框,其中包含一个文本框中的文件名以及一个保存和取消按钮 所以我创建了FileNameDialog类 我的问题是:在哪里创建对话框 我是否在基本对话框中创建一个方法并从tableviewer调用该方法 class SelectionListener implements Listener { TableIt
- 我是否在基本对话框中创建一个方法并从tableviewer调用该方法
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中单击按钮打开对话框的最佳步骤是什么?通常,您只需在
侦听器的handleEvent
方法中创建并显示对话框
要获得一个Shell
,您可以通过以下任一操作进入对话框:
new EditFileNameDialog(getTable().getShell());
或
我不太明白你的问题。这两种选择是什么?通常,您只需在侦听器的handleEvent
方法中创建并显示对话框。我不知道将对话框代码与tableviewer代码混合是否是一种好的做法,但将其放在那里是有意义的。我在寻找一个合适的地方。谢谢你回答了这个问题。在tableviewer中创建此对话框时,需要从tableviewer向对话框传递什么?我是否需要传入父复合,获取一个shell?我必须通过什么吗?我正在推荐我的对话类的构造函数
new EditFileNameDialog(new Shell());