java的swing和awt_java的SWING与AWT的区别
java的SWING與AWT的區(qū)別 AWT 是Abstract Window ToolKit (抽象窗口工具包)的縮寫,這個(gè)工具包提供了一套與本地圖形界面進(jìn)行交互的接口。AWT 中的圖形函數(shù)與操作系統(tǒng)所提供的圖形函數(shù)之間有著一一對(duì)應(yīng)的關(guān)系,我們把它稱為peers。 也就是說,當(dāng)我們利用 AWT
java的SWING與AWT的區(qū)別
AWT 是Abstract Window ToolKit (抽象窗口工具包)的縮寫,這個(gè)工具包提供了一套與本地圖形界面進(jìn)行交互的接口。AWT 中的圖形函數(shù)與操作系統(tǒng)所提供的圖形函數(shù)之間有著一一對(duì)應(yīng)的關(guān)系,我們把它稱為peers。 也就是說,當(dāng)我們利用 AWT 來構(gòu)件圖形用戶界面的時(shí)候,虛擬主機(jī),我們實(shí)際上是在利用操作系統(tǒng)所提供的圖形庫。由于不同操作系統(tǒng)的圖形庫所提供的功能是不一樣的,在一個(gè)平臺(tái)上存在的功能在另外 一個(gè)平臺(tái)上則可能不存在。為了實(shí)現(xiàn)Java語言所宣稱的"一次編譯,香港虛擬主機(jī),到處運(yùn)行"的概念,AWT 不得不通過犧牲功能來實(shí)現(xiàn)其平臺(tái)無關(guān)性,也就是說,AWT 所提供的圖形功能是各種通用型操作系統(tǒng)所提供的圖形功能的交集。由于AWT 是依靠本地方法來實(shí)現(xiàn)其功能的,我們通常把AWT控件稱為重量級(jí)控件。
Swing
是在AWT的基礎(chǔ)上構(gòu)建的一套新的圖形界面系統(tǒng),它提供了AWT 所能夠提供的所有功能,并且用純粹的Java代碼對(duì)AWT
的功能進(jìn)行了大幅度的擴(kuò)充。例如說并不是所有的操作系統(tǒng)都提供了對(duì)樹形控件的支持, Swing 利用了AWT
中所提供的基本作圖方法對(duì)樹形控件進(jìn)行模擬。由于 Swing
控件是用100%的Java代碼來實(shí)現(xiàn)的,因此在一個(gè)平臺(tái)上設(shè)計(jì)的樹形控件可以在其他平臺(tái)上使用。由于在Swing
中沒有使用本地方法來實(shí)現(xiàn)圖形功能,香港虛擬主機(jī),我們通常把Swing控件稱為輕量級(jí)控件。
AWT和Swing之間的基本區(qū)別:AWT
是基于本地方法的C/C++程序,其運(yùn)行速度比較快;Swing是基于AWT
的Java程序,其運(yùn)行速度比較慢。對(duì)于一個(gè)嵌入式應(yīng)用來說,目標(biāo)平臺(tái)的硬件資源往往非常有限,而應(yīng)用程序的運(yùn)行速度又是項(xiàng)目中至關(guān)重要的因素。在這種矛
盾的情況下,簡(jiǎn)單而高效的AWT
當(dāng)然成了嵌入式Java的第一選擇。而在普通的基于PC或者是工作站的標(biāo)準(zhǔn)Java應(yīng)用中,硬件資源對(duì)應(yīng)用程序所造成的限制往往不是項(xiàng)目中的關(guān)鍵因素,所
以在標(biāo)準(zhǔn)版的Java中則提倡使用Swing, 也就是通過犧牲速度來實(shí)現(xiàn)應(yīng)用程序的功能。
通俗的話:
AWT 是抽象窗口組件工具包,是 java 最早的用于編寫圖形節(jié)目應(yīng)用程序的開發(fā)包。
Swing 是為了解決 AWT 存在的問題而新開發(fā)的包,它以 AWT 為基礎(chǔ)的。
posted on
總結(jié)
以上是生活随笔為你收集整理的java的swing和awt_java的SWING与AWT的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Simulink中Inport控件的使用
- 下一篇: 【武忠祥高等数学基础课笔记】常微分方程