Java Swing 項目:屬性、優勢和框架
已發表: 2020-09-03Java Swing 是與 Java 編程語言相關的應用程序接口或 API。 Swing 是一組豐富的庫,用於創建 GUI 或圖形用戶界面。 在本文中,您將清楚了解 Java Swing 是什麼、Java Swing 的屬性、Java Swing 相對於其他 API 的優勢、Java Swing、AWT 和 SWT 之間的關係。 在深入了解 Java Swing 的細節之前,讓我們首先收集一些關於 Java 和圖形用戶界面的必要信息。
目錄
什麼是 Java?
Java 是一種面向對象的編程語言,廣泛用於各種目的。 當今的科技世界如此先進,我們可以從手機中獲取任何信息。 甚至遊戲、多任務處理和其他應用程序也可以在手機中使用。 只有底層的高級語言 Java 才有可能做到這一點。 這種語言最初是根據一個概念開發的,“一次編寫,到處運行”,這意味著代碼應該只編寫一次,並且能夠在任何設備中使用。
正是 Java 似乎通過結合“虛擬機”的概念來滿足這一要求。 該機器被命名為 Java 虛擬機或 JVM。 JVM 提供了運行代碼和應用程序的環境。
一旦用 Java 編寫代碼,它就會被轉換為 Java 字節碼。 相關的說,Java字節碼是Java虛擬機的一種可以理解的語言。 作為 Java RUN ENVIRONMENT (JRE) 的一部分,Java 虛擬機編譯代碼並運行它。
除了 Android 開發和應用程序之外,Java 還用於用戶界面形式,即 GUI、遊戲開發、軟件開發等。它是計算機科學界所知道的最重要的高級語言之一。
閱讀: 10 個令人興奮的 Python GUI 項目和初學者主題

什麼是圖形用戶界面?
GUI 是圖形用戶界面的縮寫形式。 它充當用戶和軟件之間的中介。 當軟件運行時,通常會看到帶有交互元素的小部件。 這稱為用戶界面。 用戶界面的一個典型示例是登錄憑證小部件。
在Java 編程語言中,用戶界面的形成是由Java SWING 完成的。
揭秘 Java Swing
Java Swing 是一種 API 或應用程序接口,用於形成 Java GUI 或圖形用戶界面。 它是 Java 基礎類 (JFC) 的組成部分。 JFC 用於創建基於窗口的應用程序。 Java Swing 完全用 Java 編寫,它是 AWT 或 Abstract Windowing Toolkit 的擴展版本。
Java Swing 的屬性
- Swing 屬於 Java 基礎類 (JFC)。 但是,它們並不完全相同。 JFC 包含一系列其他項目以及 Swing。
- Swing 主要引入了三個重大的革命性進步。 它使用更少的資源,添加了更複雜的組件,並讓程序員控制它的外觀。
- 可插拔的外觀使程序員能夠使軟件在任何平台上看起來都與為同一系統設計的一樣。
- Java Swing API GUI 由三個部分組成,組件、容器和佈局管理器。
另請閱讀: Java 項目理念
什麼是 Java AWT?
AWT(Abstract Windowing Toolkit)也是一個Java GUI 形成API。 它從一開始就是默認的 GUI 形成 API。 它於 1995 年與 Java 本身一起進入市場。SWING 只是 AWT 的擴展版本。 AWT 的組件是重量級的。 在 AWT 的情況下,這些部分是特定於底層窗口系統的。
為什麼要開發 Java Swing?
作為 AWT 的擴展版本,Swing 提供了更複雜的接口。 它還支持可插拔的外觀。 Java Swing 的組件比 AWT 更強大、更有用。 Swing 也比它的運行組件更有優勢,因為它被發現使用起來更加謹慎。 此外,Java Swing 中包含的元素比 AWT 還多。
Swing 提供了一種用戶界面的外觀,這在現代應用程序中很常見。 Swing 還允許程序員在應用程序的外觀、本地設備或全局外觀之間進行選擇。
Swing 優於 AWT 的優勢
- Java AWT 是平台相關的,也使用來自操作系統的資源來運行程序。 該程序在其他操作系統(如 Windows、Mac 和 Linux)中會有不同的外觀和外觀。
然而,Java Swing 使用與平台無關的資源,因此在每個操作系統中,例如 Windows、Mac、Linus,軟件的外觀都是相同的。

- Java AWT 的組件是重量級的,而 Java Swing 的元素是輕量級的。
- Java AWT 不支持可插入的外觀和感覺,而 Java Swing 支持相同的外觀。
- Java Swing 提供了比 Java AWT 更多的組件。 新加入的元素包括選項卡式面板、樹、列表、表格、滾動窗格、顏色選擇器。
- Java AWT 不遵循 MVC,而 Java Swing 遵循。
MVC是Model View Controller,其中model指的是數據,View指的是表示,Controller充當模型和視圖之間的接口。
查看: Python 項目理念
Java Swing的框架
- Java 是一種獨立於平台的編程語言; 因此,用 Java 編寫的 Swing 獨立於平台,可以在所有操作系統中運行。
- 作為一種模塊化架構,Swing 允許將特定接口的許多自定義實現插入在一起。 在 Java 的繼承機制的幫助下,用戶可以提供他們對這些元素的自定義以覆蓋默認規則。
- Swing 依賴於運行時操作和間接配置,這反過來又使它在運行時響應其設置的可變變化。 用戶可以解釋他們自己選擇的外觀,這有助於在整個應用程序中形成統一的構圖分佈。 具有 Swing 框架的應用程序可以在運行時熱交換其 GUI。
- javax.swing.J 組件提供了 Swing 所需的所有組件。 Swing 的 MVC 模式是松耦合的。 事件偵聽器以編程方式附加到數據模型對象。
容器類
為了創建一個 GUI,我們至少需要一個容器類對象。 容器類中可以包含各種組件。 主要有以下三種容器:
面板:它是一個純粹的容器,它本身不是一個窗口。 面板的主要目的是將組件組織到一個窗口中。
框架:它是一個功能齊全的窗口,帶有標題和圖標。
Dialogue:可以描述為一個彈出窗口,當必須顯示消息時彈出。 它不是像 Frame 那樣功能齊全的窗口。
與 AWT 的關係
Abstract Window Toolkit 縮寫為 AWT。 在 Java 的古老版本中,AWT 為用戶界面單元提供了與平台無關的 API。 Abstract Window Toolkit有一個專長; 所有組件都由 Swing 組件管理和執行,不需要在操作系統的窗口工具包中分配本地資源。 因此,這些組件被稱為輕量級組件。 另一方面,AWT 組件被視為重量級單元。
Swing API 是 AWT 的協調擴展。 Java Swing 的所有頂級單元,如 JApplet、JDialogue、JFrame 和 JWindow 都有助於擴展 AWT。 這是由於 Java Swing(輕量級)和 AWT(重量級)組件的共存而發生的。 由於 Z 順序問題,人們不能在同一個窗口中同時使用 Swing 和 AWT 組件。
這個問題發生在 Java 6 update 10 發生時。 不過,這些問題在 Java 的較新版本中得到了解決。 從現在開始,輕量級和重量級組件可以在一個圖形用戶界面中一起使用。
與 SWT 的關係
SWT 是 Standard Widget Toolkit 的縮寫形式。 它目前在 Eclipse 的授權下,儘管是 IBM 創建的。 Standard Widget Toolkit 的實現象徵著 Abstract Widget Toolkit 的重量級單位。 這與一個潛在的古老窗口工具包的忠誠度同步。 但是,使用此模型,接觸該平台的成本更高。
SWT 與 Java Swing
將 Standard Widget Toolkit 的性能與 Java Swing 進行比較引發了不少爭論。 當 Java 和圖形用戶界面之間必須進行通信時,依賴於 Java 界面的 SWT 會變慢。 雖然,當 GUI 單獨處理數據源時,它表現為一個更快的模型。 因此,根據給定的論點,無法就兩者的比較得出結論性意見。

查看: Java 中的事件處理:那是什麼以及它是如何工作的?
包起來
隨著安卓和人性化軟件市場的不斷擴大,Java 也日趨謹慎。 因此,從事 Java 職業可能會確保穩定性。 Android 應用程序開發是增長最快的市場之一。 Java 開發人員是業內薪酬最高的工作之一。
開發應用程序需要為用戶提供交互界面,這有助於吸引用戶。 這些接口是使用 Java Swing 項目製作的。 此外,Java 對於後端開發至關重要。 簡而言之,如果您願意從事軟件開發工作,建議您掌握 Java 才能茁壯成長。
隨著時間的推移,技術的發展導致學習新知識的激增。 由於這個原因,Swing 對 AWT 的改進意義重大。 因此,upGrad 提供了一系列學習方法來幫助互聯網上的數百萬人。
如果您熱衷於深入研究 Java 和全棧軟件開發,請查看 upGrad 和 IIIT-B為工作專業人士設計的全棧軟件開發 PG 文憑。 該課程提供超過 500 小時的嚴格培訓、9 個以上的項目、任務和頂級公司的工作協助。