我對SWT中的佈局和油漆程序有幾點疑問。SWT佈局和油漆
狐狸的例子,我有一個複合材料與兒童。當我調用composite.layout()是什麼意思?佈局?塗料?我發現在Javadoc混淆這句話:
Note: Layout is different from painting. If a child is moved or resized such that an area in the parent is exposed, then the parent will paint. If no child is affected, the parent will not paint.
另一個問題是,到底是怎麼回事,當我設置composite.setLayoutDeferred(真)和composite.layout後調用?
另外,當我設置composite.setRedraw(false)並且之後調用仍然是相同的composite.layout()會發生什麼?
我花了一天的時間閱讀javadoc並做了一些練習調查,但沒有揭示出這個問題。我無法理解這個API背後的理論。
在此先感謝。
這是否意味着Control#setRedraw(boolean)和Composite#setLayoutDeferred(boolean)通常沒有區別,除了您提到的緩存?我認爲Composite中的佈局控件獨立於繪製這些控件。我仍然不明白爲什麼一個方法被命名爲「setRedraw」和其他「setLayoutDeferred」,如果他們做同樣的事情。 – Steve
@Steve爲什麼你不看看['Control']的源代碼(http://kickjava.com/src/org/eclipse/swt/widgets/Control.java.htm)和['Composite' ](http://kickjava.com/src/org/eclipse/swt/widgets/Composite.java.htm)? – Baz