让我试着更好地解释我在说什么。
主 GUI 有一个按钮,单击该按钮时会打开对话框 A对话框 A 的"确定"按钮在主 GUI 中运行一个方法
public void widgetSelected(SelectionEvent e) {
baseDialog.startPrintOperation();
}
当baseDialog.startPrintOperation()
方法完成后,我希望对话框 A 关闭。
如何从不同类中的方法关闭对话框 A?
编辑
这是对话框 A 中的 okButton
okButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
getPlotterSelection();
getSpinnerValue();
Runnable r = new Runnable() {
public void run() {
baseDialog.startPrintOperation();
}
};
if(Display.getCurrent() != null) {
r.run();
}
else {
Display.getDefault().asyncExec(r);
}
}
});
下面是需要关闭对话框 A 的 printOperation 方法的部分。 此方法在主 GUI 类中
finally {
plotOp.removeOperationListener(this);
plotOp = null;
Display.getDefault().asyncExec(new Runnable() {
public void run() {
removeAllTableRows();
plotRequestCompleted = true;
THIS is where I want to close Dialog A;
}
});
}
}
});
session.queueOperation(plotOp);
}//end startPrintOperation()
完成打印调用后调用Dialog.public boolean close()
。