0
打开SWT对话框时调用shell.open()和shell.layout()是否有意义?布局和打开的顺序
使用Eclipse插件编辑,为Dialog
类默认代码可以自动生成你。对于open()方法的默认代码看起来像这样:
/**
* Open the dialog.
* @return the result
*/
public Object open() {
createContents();
shell.open();
shell.layout();
Display display = getParent().getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return result;
}
在该代码中,开放()发生第一,其次布局()秒。我的期望是,人们实际上希望在打开之前先布置外壳。
...
shell.layout();
shell.open();
...
我的假设,即绘图将出现一次打开()被调用,因此是低效和不必要的,因为屏幕将是绘制壳,因为它被重新排列。然而,除了效率这个理论问题之外,以任何一种顺序做这两件事之间并没有明显的区别。
默认情况下给出的是否正确,还是应该更改?这样做有好处吗?