【发布时间】:2016-01-23 02:51:18
【问题描述】:
我是 JFace 的新手,我正在测试它的一些组件。
现在我对显示模式窗口的不同方法有点困惑。
例如,我有一个带有按钮的应用程序,并希望通过单击此按钮打开一个对话框:
public class TestApp extends ApplicationWindow {
protected Control createContents(Composite parent) {
Button button1 = new Button(parent, SWT.PUSH);
button1.setText("Open");
button1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
MyDialog myDialog = new MyDialog(...);
myDialog.open();
}
});
}
}
现在的问题是我必须将哪个 Shell 对象分配给 Dialog 构造函数。
为此,我找到了以下替代方案:
new MyDialog(getShell());
new MyDialog(parent.getShell());
new MyDialog(new Shell());
但哪一个是正确的或最常见的?区别在哪里?
【问题讨论】: