91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AWT和Swing對比有什么區別

發布時間:2021-12-28 09:21:48 來源:億速云 閱讀:244 作者:小新 欄目:編程語言

小編給大家分享一下AWT和Swing對比有什么區別,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

比較AWT和Swing

1.AWT和Swing組件體系
a)Swing:通過在父組件上動態調用add()和remove()方法,來對組件樹進行動態維護,因此,可以存在沒有父組件的子組件。
b)SWT:通過在構造函數的參數中,指定父組件,因此,不可能存在沒有父組件的子組件。

2.AWT和Swing組件繪制
a)Swing:通過調用組件的paint()方法來進行組件的繪制,組件進一步對他的子組件調用paint(),從而完成整棵組件樹的繪制。通過子類化,重寫paint()方法,可以完全定制一個組件的繪制。
b)SWT:SWT組件只是本地平臺上實際組件的一個代理,實際組件采用win32編程方式進行繪制,繪制的過程不在JVM中完成。因此,子類化也不能對繪制進行完全定制。當SWT組件進行繪制時,他在完成了本地的繪制以后,會返回JVM,然后對所有已注冊的PaintListener發出通知,因此,通過注冊PaintListener可以對組件繪制進行一定程度上的修改。

3.AWT和Swing事件模型
a)Swing中的事件會跟據當前的焦點進行發送。父組件不能對事件進行過濾。Swing中的事件監聽器都是有類型的,因此每個組件所能支持的事件類型是通過方法名來限定的。不能擴展。
b)SWT中的事件也是根據當前的焦點進行發送。父組件不能對事件進行過濾。SWT中支持有類型的監聽器,也支持無類型的監聽器,通過addListener(type,listener),我們可以為組件添加任何類型的監聽器。

4.AWT和Swing包設計
a)Swing是一個純粹的組件庫,他沒有圖形的操作,他的繪制最終轉發給Java 2D來完成。
b)SWT包含了組件庫和圖形庫,他的結構與AWT比較接近。

5. 其它
AWT和SWT實現原理不同:AWT控件相當于是一筆一畫繡出來的,參加 java.awt.Component.paint(Graphics g),性能差;而SWT調用了操作系統后臺原生庫,org.eclipse.swt.widgets.Control類型中就沒有類似的paint方法了,但是有一個接口org.eclipse.swt.graphics.Drawable。實現原理的不同帶來了性能和用戶視覺的差異。

SWING 是基于AWT提供的MVC不完全實現,JFACE是基于SWT提供的MVC不完全實現。兩者的核心作用都是提供了viewer和模型封裝的概念,從設計實現層面看,SWING更加唯美一些,JFACE則更加側重于實用。SWING和 JFACE兩者都偏重于行為控制上下文,而對UI數據(例如,一個文本框控件中的內容)的管理都沒有做太多的設計。JFACE中略有改進,提供了 setData的概念。JFACE是為了Eclipse而生的,雖然后來 RCP出來了,又做了其他的包裝宣傳,典型的體現就是提供了JFace Text Framework和其他一些用戶構建Eclipse元素的UI支持,也提供了一些系統資源管理(ImageRegsitry、 ResourceManager等)等附加功能。

SWING框架與代碼很優美,但效率低,特別是高級控件如各種選擇框超慢,與Windows本身不協調,使用體驗差;而且再怎么使用LookAndFeel,還是不美觀,總是感覺畫的不清晰。

看完了這篇文章,相信你對“AWT和Swing對比有什么區別”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河间市| 广德县| 武宣县| 云和县| 沂源县| 霍邱县| 红桥区| 青海省| 周口市| 九台市| 察雅县| 万载县| 福海县| 九江县| 雷州市| 太谷县| 正阳县| 安塞县| 新和县| 焉耆| 金湖县| 通海县| 平顺县| 舞钢市| 乌兰县| 桓仁| 霍林郭勒市| 兴山县| 平果县| 石台县| 伊宁市| 桂平市| 霍邱县| 两当县| 尼玛县| 丹阳市| 水富县| 绥化市| 黑水县| 温州市| 临湘市|