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();
...
我的假設,即繪圖將出現一次打開()被調用,因此是低效和不必要的,因爲屏幕將是繪製殼,因爲它被重新排列。然而,除了效率這個理論問題之外,以任何一種順序做這兩件事之間並沒有明顯的區別。
默認情況下給出的是否正確,還是應該更改?這樣做有好處嗎?