membangun aplikasi GUI desktop. Swing toolkit juga menyediakan
class-class untuk menangani interaksi antara aplikasi dan user
menggunakan standard input seperti keyboard dan mouse.
Komponen-komponen yang disediakan swing mencakup semua GUI
toolkit yang lazim digunakan dalam apilasi desktop, seperti : JTabel,
JList, JTree, JButton, JLabel dan masih banyak komponenkomponen
lainnya yang sudah teruji dan siap pakai.
Selain komponen GUI, swing juga menyediakan fasilitas untuk
proses undo, komponen untuk mengolah text, internationalization,
Komponen GUI yang mendukung penyandang cacat (accessibility
support) dan fasilitas drag-and-drop.
Look and Feel merupakan fasilitas yang unik dalam swing. Dengan
fasilitas Look and Feel ini kita bisa dengan mudah merubah
tampilan dari program kita sesuai dengan keinginan dan tujuan
kita. Misalnya, agar program terlihat fancy atau agar program
terlihat konsisten dalam segala keadaan.
Swing juga menyediakan library Java 2D untuk pengolahan data
secara visual, seperti mengolah gambar, object 2D, bahkan animasi.
SwingLabs.org menyediakan libary Swing Painter yang merupakan
pengembangan dari Java 2D, Swing Painter ini memungkinkan
aplikasi swing mempunyai tampilan yang indah dan terlihat
profesional.
Java 6.0 menambahkan banyak sekali fitur-fitur baru ke dalam
package swing, termasuk dukungan untuk library OpenGL
menggunakan JOGL, Tray Icon dan Web Service. Dengan adanya dukungan ini swing menjadi lebih poweful dan mempunyai masa depan yang cerah. Struktur Komponen Swing
Secara arsitektur, Swing dibangun diatas arsitektur AWT (Abstract Windows Toolkit). AWT adalah GUI toolkit yang dikembangkan oleh Sun engineer sebelum swing muncul. Kelemahan utama AWT
adalah fleksibilitas tampilan GUI, seperti painting method yang
masih sangat primitif.
Swing dimaksudkan untuk memperbaiki kekurangan dari AWT tanpa harus membuang teknologi yang sudah dibuat dan membuat GUI toolkit baru dari nol. Komponen AWT diletakkan dalam satu package yaitu java.awt, didalamnya terdapat komponen-komponen GUI dasar, salah
satunya adalah Component. Class Component adalah moyang dari sebagian besar komponen AWT maupun Swing. CheckBox, Label, Button dan beberapa komponen AWT lainnya adalah turunan langsung dari class Component. Namun dalam kenyataanya arsitektur demikian tidak memberikan fleksibilitas yang cukup
memadai untuk membuat berbagai macam komponen baru yang dibutuhkan dalam desktop application.
Swing muncul dengan membawa teknologi AWT yang telah ditambahkan dengan banyak kemampuan. Nyaris semua komponen GUI dari swing merupakan turunan class Container dan class Container adalah turunan dari class Component.
Bekerja dengan JLabel, JTextField da JButton Bekerja dengan komponen swing menggunakan Matisse sangat menyenangkan dan mudah. GroupLayout yang sangat fleksibel memungkinkan kita untuk membuat aplikasi dengan tampilan seperti yang kita harapkan. Label, textfield dan tombol adalah komponen-komponen dasar yang selalu ada dalam setiap aplikasi berbasis desktop. Ketiga komponen ini mempunyai fungsi yang sangat sederhana, textfield menyimpan data berbentuk text (string) yang relatif pendek , label banyak digunakan untuk memberikan keterangan penjelas terhadap komponen lain dan tombol digunakan user untuk menjalankan satu instruksi tertentu.
Berikut ini adalah contoh aplikasi sederhana yang melakukan
penjumlahan dua buah bilangan.













