Inner Class adalah suatu Class yang didefinisikan di dalam Class lain. Dengan kata lain, Inner Class adalah anggota (member) dari Class lain, sama halnya seperti variable dan method. Hal ini mengakibatkan instance dari Inner Class dapat mengakses /berbagi dengan instance dari outer Class-nya. Instance dari Inner Class dapat mengakses semua member dari outer Class-nya, bahkan yang private.
Listing Program :
class MyOuter{
private int x = 7;
class MyInner {
public void seeOuter(){
System.out.println(“Outer x is ” + x);
}
}
}
Walaupun variabel x dari class MyOuter adalah private, MyInner tetap bisa mengaksesnya. Ini salah satu kelebihan dari Inner Class.
1. Instantiasi Inner Class dari dalam code outer Class
Perhatikan code berikut:
class MyOuter{
private int x = 7;
public void makeInner(){
MyInner in = new MyInner();
In.seeOuter();
}
class MyInner{
public void seeOuter(){
System.out.println(“Outer x is ” + x);
}
}
}
Code di atas memperlihatkan salah satu cara melakukan instantiasi Inner Class MyInner dari dalam code MyOuter. Ini bisa berjalan jika instance dari MyOuter sudah tercipta, lalu instance tersebut menginvoke method-nya, yaitu makeInner().
Delegasi event model menguraikan bagaimana program Anda dapat merespon interaksi
dari user. Untuk memahami model, mari kita pelajari pertama-tama dengan tiga
komponen utamanya.
1. Event Source
The event source mengacu pada komponen GUI yang men-generate event. Sebagai
contoh, jika user menekan tombol, event source dalam hal ini adalah tombol.
2. Event Listener/Handler
The event listener menerima berita dari event-event dan proses-proses interaksi user.
Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan sebuah
informasi yang berguna untuk user.
3. Event Object
Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI),
sebuah objek event diciptakan. Objek berisi semua informasi yang perlu tentang
event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti
ketika mouse telah di-klik. Ada beberapa class event untuk kategori yang berbeda
dari user action. Sebuah event object mempunyai tipe data tentang salah satu dari
class ini.
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
remove<Type>Listener methods.
void remove<Type>Listener(<Type>Listener listenerObj)
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.
Event Listeners
Event listeners adalah class yang mengimplementasikan interfaces <Type>Listener.
Tabel di bawah menunjukkan beberapa listener interfaces yang biasanya digunakan.
Method ActionListener
Interface ActionListener hanya terdiri dari satu method.
ActionListener Method
public void actionPerformed(ActionEvent e)
Mengendalikan ActionEvent e yang terjadi.
Method MouseListener
public void mouseClicked(MouseEvent e)
Dipanggil pada saat tombol mouse di click (seperti tekan dan lepas).
public void mouseEntered(MouseEvent e)
Dipanggil pada saat kursor mouse memasuki area komponen.
public void mouseExited(MouseEvent e)
Dipanggil pada saat kursor mouse meninggalkan area komponen.
public void mousePressed(MouseEvent e)
Dipanggil pada saat tombol mouse ditekan di atas komponen
public void mouseReleased(MouseEvent e)
Dipanggil pada saat tombol mouse dilepas di atas komponen.
Method-Method MouseMotionListener
MouseMotionListener mempunyai dua method untuk diimplementasikan.
MouseListener Methods
public void mouseDragged(MouseEvent e)
Digunakan untuk memantau pergerakan mouse yang melintasi objek pada saat tombol
mouse ditekan. Tindakan ini persis sama dengan tindakan pada saat memindahkan
sebuah window.
public void mouseMoved(MouseEvent e)
Digunakan untuk memantau pergerakan mouse pada saat mouse melintasi area suatu
objek.
http://igedeputraaria.blogspot.com/2012/03/inner-class-pada-java.html
0 komentar:
Posting Komentar