Java 中 AWT 和 Swing 的區別


Java 是一種安全、強大且可靠的語言,開發人員可以使用它來開發可以在桌面、Web 和移動裝置上執行的不同型別的應用程式。開發人員可以藉助 GUI 元件開發自定義應用程式。這些 GUI 元件在 AWT 和 Swing 中可用,本文將討論 AWT 和 Swing 之間的區別。

什麼是 Java 中的 AWT?

AWT 的全稱是抽象視窗工具包。這是一個 API,開發人員使用它來開發不同型別的 GUI 應用程式。Sun Microsystems 於 1995 年開發並推出了 AWT。在這個工具包中可以找到大量的類和方法。AWT 中存在的元件重量級,因為它們的生成使用的是主機作業系統。AWT 的元件取決於它們所使用的平臺。

什麼是 Java 中的 Swing?

SwingJava 中的一個 GUI 工具包,開發人員使用它來製作不同型別的 GUI 應用程式。Swing 工具包的元件與平臺無關,這有助於開發人員建立選項按鈕和捲軸。Swing 元件是 Java Foundation Classes 的一部分。

AWT 和 Swing 之間的區別

AWT 和 Swing 是用於開發 GUI 應用程式的包。AWT 和 Swing 之間存在許多差異,可以在下表中找到 -

AWT Swing
Java AWT 是一種 API,開發人員可以使用它來開發不同型別的 GUI 應用程式。 Swing 是 JFC 的一部分,也用於 GUI 應用程式的開發。
AWT 包中提供的元件載入時間較長,因為它們是重量級的。 Swing 包中的元件重量輕,載入速度非常快。
AWT 元件中提供的功能相對較少。 Swing 元件中提供的功能更多。
為 AWT 元件編寫的程式碼需要更多時間來執行並顯示結果。 為 Swing 包的元件編寫的程式碼執行速度很快,因為元件重量輕。
AWT 包中提供的元件依賴於平臺。 Swing 包中提供的元件獨立於平臺。
AWT 不支援 MVC。 Swing 包支援 MVC 模式。
AWT 包中存在的元件相對來說功能不那麼強大。 Swing 包中存在的元件功能相對更強大。
開發人員需要用於 AWT 元件的包是 java.awt。 開發人員需要用於 Swing 元件的包是 javax.swing。
AWT 中提供的元件無法配置。 Swing 包中提供的元件可以輕鬆配置。
元件數量較少。 元件數量相對較多。
AWT 中有 21 個對等體。每個元件都有自己的對等體,其中一個對等體用於對話方塊。作業系統提供這些對等體,它們以小部件的形式提供。 Swing 只有一個對等體,它以作業系統視窗物件的格式提供。Swing 的小部件(如標籤、文字框、選項按鈕、複選框等)可以很容易地在此處繪製。
執行程式碼需要大量的計算機記憶體。 執行程式碼使用少量記憶體。
AWT 包中的自定義功能有限。 Swing 包中有很多自定義選項。

結論

AWT 和 Swing 包在 Java 中可用,用於製作 GUI 應用程式。這些包可用於製作桌面、Web 和移動應用程式。AWT 包中提供的元件重量級,執行時間較長,而 Swing 元件重量輕,可以快速執行。AWT 元件依賴於作業系統,但 Swing 元件並非如此。Swing 元件的功能更多,而且與 AWT 相比,數量也更多。

關於 AWT 與 Swing 的常見問題

1. 哪個包的元件是重量級的?

AWT 包的元件是重量級的,需要時間才能執行。每個元件都有一個與作業系統關聯的對等體。相比之下,Swing 包的元件重量輕,執行速度快。

2. 哪個包的元件具有更好的功能?

與 AWT 相比,Swing 的元件具有更好的功能。提供了許多可用於增強元件功能的方法。Swing 元件的外觀和感覺也可以得到改進,而 AWT 元件則無法做到這一點。

3. 哪個包的元件功能強大?

Swing 包的元件功能更強大。每個元件的類都包含許多方法,這使得它們功能強大且易於使用。

4. Swing 和 AWT 使用哪個包?

開發人員使用 java.awt 包用於 AWT 元件,使用 javax.swing 用於 Swing 元件。

5. 哪個包具有大量的元件?

Swing 包具有大量的元件。開發人員可以根據需要新增它們並製作 GUI 軟體應用程式。

更新於: 2024-07-17

155 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告