Dalam membangun objek GUI di Java,
Kita bisa menggunakan AWT atau Swing, perbedaan keduanya adalah, bahwa
AWT adalah tampilan dasar dari setiap target platform (Windows,
Macintosh, Solaris) atau berdiri sesuai dengan mekanisme sebuah
platform, seperti slogan Java (Write once run everywhere), hal tersebut
bagus untuk sebuah program yang simpel, tetapi menjadi sulit ketika
mengimplementasikan sebuah program yang lebih kompleks dan harus sesuai
dengan target platform. Setiap User Interface elemen seperti Button,
TextField, ScrollBar memiliki tingkah laku (behavior) yang berbeda di
setiap platform. Yang lebih parah lagi, AWT User Interface Library
memiliki bug yang berbeda di setiap platform, hal ini mengubah slogan
Java menjadi (Write once, Debug everywhere).
Maka
hadirlah Swing yang menawarkan tampilan yang lebih kaya dan bagus.
Swing tidak berdasarkan platform yang dituju tetapi menggunakan metode
“Painted” yaitu, setiap User Interface Elemen di Gambar ke dalam window/frame kosong. Sehingga setiap User Interface Elemen akan tampil dan berprilaku sama di setiap platform.
Swing
bukan pengganti dari AWT, dan tidak bisa berdiri sendiri, karena
setiap program butuh berkomunikasi dengan mekanisme dasar dari target
platform seperti Event Handling yang ada di AWT, jadi Swing akan selalu
berdampingan dengan AWT.
Sayangnya Swing lebih lambat tampil di layar. Dan ketika User Interface tampak sama di setiap platform, maka juga akan tampak berbeda
untuk tampilan standar sebuah platform. Dan Java mengatasinya dengan
baik sekali, yaitu Swing menyediakan theme specific (Windows theme,
Motif Theme, Ocean Theme), yang bisa disesuaikan dengan platform.
0 komentar: