當我們開始使用Swing庫時,會注意到它在技術上向前邁出了巨大的一步。Swing組件是Bean,因此他們可以支持Bean的任何開發環境中使用。Swing提供了一個完全的UI組件集合。因為速度的關系,所有的組件都很小巧的(沒有“重量級”組件被使用),Swing為了輕便在Java中整個被編寫。
最重要的是我們會希望Swing被稱為“正交使用”;一旦我們采用了這種關於庫的普遍的辦法我們就可以在任何地方應用它們。這主要是因為Bean的命名規則,大多數的時候在我編寫這些程序例子時我可以猜到方法名並且第一次就將它拼寫正確而無需查找任何事物。這無疑是優秀庫設計的品質證明。另外,我們可以廣泛地插入組件到其它的組件中並且事件會正常地工作。
鍵盤操作是自動被支持的——我們可以使用Swing應用程序而不需要鼠標,但我們不得不做一些額外的編程工作(老的AWT中需要一些可怕的代碼以支持鍵盤操作)。滾動被毫不費力地支持——我們簡單地將我們的組件到一個JScrollPane中,同樣我們再增加它到我們的窗體中即可。其它的特征,例如工具提示條只需要一行單獨的代碼就可執行。
Swing同樣支持一些被稱為“可插入外觀和效果”的事物,這就是說UI的外觀可以在不同的平台和不同的操作系統上被動態地改變以符合用戶的期望。它甚至可以創造我們自己的外觀和效果。