Swing[Java程式元件]

Swing[Java程式元件]
更多義項 ▼ 收起列表 ▲

Swing是一組Java程式元件,它能夠創建圖象用戶接口(GUI)元件,如按鈕和滾動條,它們獨立於特定作業系統的開視窗系統。Swing元件使用Java Foundation Classes(JFC)。

網際網路基礎(IFC) 是網景公司最初為Java開發的圖形庫,第一次發布於1996年12月16日。

在1997年4月2日,太陽微系統公司 和 網景公司宣稱他們要將IFC和其他技術合併形成 Java基礎類。作為IFC最初提供組件的附加品, Swing引進了一個機理:在不改變大量的程式代碼前提下允許程式中每個組件觀感的變化。支持可更換觀感技術的引入允許Swing組件在模擬原生組件外觀的同時又保持了平台獨立的優點。

Swing是一個為Java設計的GUI工具包。 Swing 是Java API的一部分。 Swing 包括了圖形用戶界面 (GUI) 器件 如:文本框,按鈕,分隔窗格和表。

Swing提供許多比AWT更好的螢幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平台運行,這一點不像AWT。 它們是JFC的一部分。 它們支持可更換的觀感和主題(各種作業系統默認的特有主題),然而不是真的使用原生平台提供的設備,而是僅僅在表面上模仿它們。這意味著你可以在任意平台上使用Java支持的任意觀感。 輕量級元件的缺點則是執行速度較慢,優點就是可以在所有平台上採用統一的行為。

一、Swing和AWT的關係

Java的早期版本以來,抽象視窗工具包為用戶界面組件提供了平台獨立的API。在AWT中,每個組件都由一個原生的等同組件生成和控制,這個原生組件是由當前的圖形視窗系統決定的。

與此相對,Swing 組件經常被描述為輕量級的,因為它們不需要作業系統本身所帶視窗工具包的原生資源來生成。

Swing API 的大部分是AWT的補充擴展而不是直接的代替。Swing用來繪製輕量級組件的核心渲染功能是由Java2D提供的,這是AWT的一部分。然而,輕量級和重量級組件在同一個套用中使用會導致Z-order不兼容。

二、Swing和SWT的關係

標準器件工具包 是一個最初由IBM開發的工具包,現在由Eclipse基金會維護。 SWT的實現同重量級的組件AWT有更多的共同之處。這樣的好處是運行開銷同所在平台的原生視窗工具包更為接近。

SWT的到來使得Java桌面的開發者們分離為SWT的支持者和Swing的支持者。 在即將到來的6.0版Java中,Swing的新修補專注於同原生原生視窗平台的逼真度,這可能會直接解決這個問題。

三、Swing與AWT的區別

Swing為基於窗體的GUI套用開發設計,為Java跨平台特性提供了卓越的支持.它完全沒有本地代碼,不受作業系統的影響,做到了真正的跨平台套用,甚至能夠提供本地視窗系統不支持的其它特性。因此比AWT具有更強的實用性,同時比AWT程式擁有更加精緻的外觀感受。
AWT只提供基本的組件,使很多設計變得複雜,且無法在不同的平台下保持顯示風格的一致性。例如:如果建立一個按鈕(Button)對象,就會有一個按鈕(ButtonPeer)同其對象一起被建立,然後此按鈕對象會請求底層作業系統創建一個真正的按鈕。即在Windows NT 上執行,那么創建的就是Windows NT按鈕;在Linux 上執行,那么創建的就是Linux按鈕。因此AWT組件外觀會受到底層作業系統的影響.

Swing全螢幕幕模式使用方法

關鍵是java.awt.*裡面的兩個與顯示設備有關的類:GraphicsEnvironment和GraphicsDevice。
GraphicsEnvironment為Java應用程式提供了特定平台的 GraphicsDevice對象和 Font 對象集合。這些GraphicsDevice可以是各種本機和遠端機器的資源,如螢幕、印表機或者是Image Buffer,甚至是Graphics2D繪圖方法的目標對象。
而GraphicsDevice就是指特定的圖形環境了,如螢幕和列印設備等。這樣,我們就可以用GraphicsDevice來操縱螢幕了。GraphicsDevice提供的setFullScreenWindow()方法就是設定全螢幕幕用的。
由於GraphicsEnvironment的構造器是受保護的(protected),我們不能直接構造一個 GraphicsEnvironment 對象來獲得GraphicsDevice對象。

相關詞條

相關搜尋

熱門詞條

聯絡我們