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

溫馨提示×

溫馨提示×

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

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

Swing和SWT有什么區別

發布時間:2021-12-27 14:09:34 來源:億速云 閱讀:185 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關Swing和SWT有什么區別的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Swing和SWT簡介

Swing產生的主要原因就是AWT不能滿足圖形化用戶界面發展的需要。AWT設計的初衷是支持開發小應用程序的簡單用戶界面。AWT缺少剪貼板、打印支持、鍵盤導航等特性;AWT功能較弱,它甚至不包括彈出式菜單或滾動窗格等基本元素。此外,AWT體系結構還存在著其他一些嚴重的缺陷。

隨著圖形化用戶界面發展的需要,Swing出現了,Swing組件幾乎都是輕量級組件,與AWT相對的重量級組件相比,Swing沒有本地的對等組件,不像重量級組件那樣要在它們自己本地的不透明窗體中繪制,輕量級組件會在它們的重量級組件的窗口中繪制。

SWT本身僅僅是Eclipse組織為了開發Eclipse IDE環境所編寫的一組底層圖形界面 API。或許是無心插柳,或是有意為之,至今為止,SWT無論是在性能和外觀上,都超越了SUN公司提供的AWT和SWING。目前Eclipse IDE已經開發到了2.1版本,SWT已經十分穩定。這里指的穩定應該包含兩層意思

比較Swing和SWT

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

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

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

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

感謝各位的閱讀!關于“Swing和SWT有什么區別”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

四会市| 阳信县| 陕西省| 鹤山市| 清水河县| 淮北市| 原阳县| 那坡县| 田林县| 嘉祥县| 资源县| 阿尔山市| 灯塔市| 平陆县| 大埔县| 太湖县| 读书| 长沙市| 赤城县| 澄城县| 萨迦县| 富锦市| 石屏县| 宜昌市| 青铜峡市| 绥江县| 禹城市| 简阳市| 井研县| 云梦县| 松阳县| 横峰县| 逊克县| 诸暨市| 汉中市| 济阳县| 莆田市| 唐山市| 得荣县| 金华市| 四平市|