1. Konsep GUI
GUI (Graphical User Interface) merupakan sebuah teknologi antarmuka pengguna yang
memungkinkan seseorang untuk berinteraksi dengan program dengan berbagai cara selain
mengetik seperti halnya komputer, MP3 Player dan lain-lain yang berisikan banyak tombol
bergambar atau icon dibandingkan teks.
Awt vs. Swing
The Java Foundation Class (JFC), merupakan bagian penting dari Java SDK, yang
termasuk
dalam koleksi dari API dimana dapat mempermudah pengembangan aplikasi JAVA
GUI. JFC
termasuk diantara 5 bagian utama dari API yaitu AWT dan Swing. Tiga bagian
yang lainnya
dari API adalah Java2D, Accessibility, dan Drag dan Drop. Semua itu membantu
pengembang
dalam mendesain dan mengimplementasikan aplikasi visual yang lebih baik.
AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam
membuat aplikasi
Java dan Applet. Anda akan mempelajari applet pada bab berikutnya. Tidak seperti
beberapa komponen AWT yang menggunakan native code, keseluruhan Swing ditulis
menggunakan bahasa pemrograman Java. Swing menyediakan implementasi platform-
independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat
memiliki tampilan yang sama. Begitu juga dengan AWT menjamin tampilan look and feel
pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing
API dibangun dari beberapa API yang mengimplementasikan beberapa jenis bagian dari
AWT. Kesimpulannya, komponen AWT dapat digunakan bersama komponen Swing.
Komponen dasar Swing
Container (tempat) yaitu obyek yang dapat menampung komponen grafis dan tempat
yang lebih kecil. Contoh : frames, panels.
Component yaitu obyek yang berfungsi untuk menampilkan data, menerima masukan
atau menunjukkan suatu kondisi. Contoh : buttons, labels dan text fields.
Event yaitu obyek yang merepresentasikan suatu kejadian. Contoh gerakan mouse,
penekanan tombol.
Listener yaitu suatu obyek yang ‘menunggu’ suatu kejadian khusus dan akan bereaksi
(melakukan sesuatu) jika kejadian tersebut terjadi.
Beberapa komponen AWT bisa dilihat di netbeans di palete AWT.
2. Registrasi Listeners
Event source mendaftarkan sebuah listener melalui method add<Type>Listener.
void add<Type>Listener(<Type>Listener listenerObj)
<Type> tergantung pada tipe dari event source. Dapat berupa Key, Mouse, Focus,
Component, Action dan lainnya. Beberapa listeners dapat diregistrasi dengan satu event
source untuk menerima
pemberitahuan event. Listener yang telah teregistrasi dapat juga tidak diregistrasikan lagi
menggunakan method remove<Type>Listener.
void remove<Type>Listener(<Type>Listener listenerObj)
3. Class-class Event
Sebuah event object mempunyai sebuah class event sebagai tipe data acuannya. Akar
dari hirarki class event adalah class EventObject, yang dapat ditemukan pada paket
java.util. Immediate subclass dari class EventObject adalah class AWTEvent. Class
AWTEvent didefinisikan pada paket java.awt. Itu merupakan akar dari semua AWTbased
events. Berikut ini beberapa dari class-class AWT event.
b. Method MouseListener
c. Method-Method MouseMotionListener
MouseMotionListener memiliki 2 method yang diimplementasi :
d. Method-Method WindowListener
● mousePressed : event ini terjadi ketika user menekan salah satu tombol mouse diatas
komponen swing.
● mouseReleased : setelah tombol ditekan, komponen swing akan menerima pelepasan
tombol mouse. Tetapi jika tombol mouse dilepaskan pada saat pointer mouse tidak berada
diatas komponen swing, maka event ini tidak akan terjadi.
● mouseClicked : event ini muncul ketika user melakukan click tombol mouse diatas
komponen swing.
● mouseEntered : ketika mouse memasuki area diatas komponen swing, event ini akan
dipicu.
● mouseExited : muncul ketika mouse akan meninggalkan area diatas komponen swing
Ketika user menekan tombol mouse (click), event mousePressed dibuat, kemudian
mouseReleased dan akhirnya mouseClicked muncul terakhir.
Method getButton digunakan untuk menentukan tombol mana yang ditekan oleh user.
Pada umumnya mouse yang tersedia di pasaran mempunyai tiga timbol yang dapat di
klik, tombol kiri, tombol tengah dan tombol kanan. Method getButton akan
mengembalikan nilai MouseEvent.BUTTON1 jika tombol kiri ditekan,
MouseEvent.BUTTON2 jika tombol tengah ditekan dan MouseEvent.BUTTON3 jika
tombol kanan ditekan.
Method getX dan getY akan mengembalikan koordinat dimana MouseEvent terjadi.
Koordinat yang digunakan adalah koordinat relatif. Koordinat (0,0) berada di pojok kiri
atas dari komponen swing, semakin kebawah nilai Y semakin besar dan semakin ke
kanan nilai X semakin besar. Nilai koordinatnya dinyatakan dalam satuan pixel.
4. Class-class adapter