您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么分析Swing體系結構,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Swing體系結構最初Smalltalk系統的UI工具使用所謂的模型-視圖-控制(MVC)模式,MVC引入這樣一個概念:數據源應該同屏幕展現分開。這是一個優秀的體系設計結構,能促進代碼重用和程序框架。Swing使用的是一個變體的MVC架構。
典型的Swing GUI組件包括至少三個對象:一個Component,一個Model和一個UI Delegate,在這個框架中,Model負責存儲數據,UI Delegate負責從Model獲取數據并渲染到屏幕上去,Component通常協調Model和Delegate之間的操作,并同時負責將 Swing嵌入到AWT窗口系統中。
注意,UI Delegate對象可以在運行的時候動態替換,這就使Swing具備了可插拔的外觀(Pluggable Look-And-Feel, PLAF)。
雖然Swing的MVC結構顯然具備靈活性的好處,但是這個結構通常被指責為一些程序慢的根源。雖然基于MVC結構需要更多的方法調用來支持額外的重定向,其實花費在這兒的消耗很小。對基于Swing的應用程序profile的結果顯示,model-view分隔的開銷可以忽略不計,不到CPU總開銷的 1%,復雜的Swing用戶界面的多數處理事件其實都花費在了底層的圖形操作上了。Swing的model-view結構并不是低性能的根源,它是構建可擴展程序的關鍵。
Swing 提供了一些處理大數據量數據集的組件,包括JTable、JTree、JList以及JComboBox。這些矢量組件被設計成能夠處理成千上萬甚至數百萬的數據,為了避免占用大量內存,這些組件在Swing體系結構增加了渲染器(renderer)概念。
看完上述內容,你們對怎么分析Swing體系結構有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。