Java 學習

          堅持不懈,打通-->軟件—控制—機械
          posts - 5, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          上一篇詳細介紹了一個SWT實例,這一篇接下來介紹SWT組件的生命周期
          本文地址:http://www.aygfsteel.com/cpenet/archive/2006/07/04/56539.html

          本篇譯自《 Eclipse.Building.Commercial.Quality.Plug.ins.2nd.Edition 》第四章第二節,希望對入門者有所幫助。

          ?

          組件的生命周期

          設計 SWT 的一個目標就是小而靈巧。為了達到這個目標,一個基本的設計策略,就是盡可能的使組件的狀態存儲在平臺組件中而不是存儲在 SWT 組件中 ( 這句話,我不理解,也翻譯的不明白,附原文: To achieve this, a basic design decision was made that as much widget state as possible would be stored in the platform widget rather than in the SWT widget.) 。這與 Swing 形成顯著的對比, Swing Swing 組件中維護了所有的組件狀態。 ( 可能是這樣: SWT 把各個組件的狀態交給系統平臺來管理,而 Swing 自己管理各個 Swing 組件的狀態,這樣 Swing 就復雜,耗費的資源,內存的需求也多,不知道是不是 J ) 。通過不把系統平臺級別的組件信息復制過來自己維護, SWT 就非常的小巧而且對內存的需求也相應少。

          達到這個目的所付出的代價就是 SWT 的組件不能夠自己獨立存在。當一個 SWT 組件被創建時,同時立即在系統平臺下也創建了該組件的對應體。接下來,幾乎所有對該組件的信息狀態請求都會由平臺來處理。

          大部分的系統平臺在創建一個組件時,需要該組件明確的父組件的上下文,所以 SWT 需要一個父組件來最為它的構造聲明。許多平臺在創建組件時還需要該組件的特定風格參數的設定。例如:按鈕有復選框,單選框,簡單按鈕和文本域有單行和多行之分。

          SWT 類中,風格位段用整數類型來定義且不會更改。風格參數被組織在一起,其它各種構造器傳遞著這些參數來創建一個組件的初始風格。注意到,所有的平臺并不支持所有的風格,所以在很多情況下,被請求的風格被認為是一種提示,它或許會或許不會對一個特殊的平臺產生影響。

          SWT 組件不在需要時,一些平臺要求作出明確的釋放。對于組件本身和一些資源 ( 例如:圖形,字體,顏色 ) 而言,他們已經具備了系統的這個要求?;镜囊巹t是:如果你創建了一個組件,就要使用 dispose() 方法來撤銷這個組件。如果你使用了一些系統資源,例如系統顏色,你就不需要釋放他們。

          幸運的,當一個組件被釋放的,它的所有子組件會自動地被釋放。這意味著,如果你釋放了一個 shell ,那么所有 shell 包含的組件都會被自動釋放。


          評論

          # re: SWT組件的生命周期(續一個簡單的SWT程序實例及詳解)  回復  更多評論   

          2006-09-13 22:05 by ak_zct
          這篇文章寫得好。通俗易懂。
          主站蜘蛛池模板: 屯昌县| 台安县| 大冶市| 新宁县| 彰化县| 霍城县| 黄骅市| 农安县| 上饶县| 和顺县| 天等县| 兰溪市| 门头沟区| 皮山县| 灵璧县| 明星| 华容县| 泾川县| 福州市| 江安县| 赣榆县| 博白县| 辉南县| 临沂市| 玛曲县| 莫力| 吴桥县| 梅河口市| 永城市| 遂溪县| 建水县| 罗甸县| 惠水县| 郴州市| 滁州市| 朝阳市| 商洛市| 松潘县| 淮阳县| 常熟市| 玉门市|