İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Event'ler

Event-Driven Programlama

Event-Driven (Olay-Sürümlü) programlama tekniği, geleneksel programlama tekniğinden çok farklı bir tekniği içerir. Normal şartlar altında programcı programlama dilinin özelliklerini kullanarak 'sırasıyla' neler yapılacağını belirler. Oysa bu ancak 'interactive' olmayan programlar için geçerlidir. Kullanıcı, bir pencere içerisinde ki görsel bileşenler'den herhangi birine istediği anda basabilir. Kullanıcıyı belli düğmelere veya menü maddelerine belli sırada tıklamaya zorlayamazsınız. O yüzden ne yapılacağına ilişkin akışı belirlemek yerine program, herhangi bir "olay" (yani bir tepki verilmeyi bekleyen işlem, örneğin bir düğmeye tıklama) oluşması durumunda ne yapılacağını belirtmekle yetinir. Görsel olmayan uygulamalarda da event-driven programlama mümkün olmakla birlikte bu tip programlama daha çok görsel programlamayla birlikte gündeme gelmiştir.

Event Türleri

AWT'de bir çok event türü bulunmaktadır. Bunlardan en çok kullanılanları MouseEvent, KeyEvent, WindowEvent ve ActionEvent'tir. MouseEvent fare tıklanmasıyla, KeyEvent klayvede tuşa basılmasıyla, WindowEvent pencerenin açılıp-kapanması veya büyütülüp-küçültülmesi durumunda "ateşlenir". ActionEvent adında bir event türü vardır ki bu diğerleri gibi tam bir işleme karşılık gelmez. Bu event, her component'e en uygun işleve ilişkin bir event'tir. Button'a basmak, menü maddesini tıklamak, TextField'a bir yazı girip 'Enter'a basmak gibi eventler hep ActionEvent'idir.

Listener'lar

Her event'in bir listener'ı (dinleyeni) bulunur. Burada dinlemekten kasıt, event oluştuğu anda tepki vermektir. Bir Button'a basıldığında ne yapılacağını belirleyen class, o buttonu' dinliyor demekir. Örneğin ActionEvent'lerini dinleyen classlar ActionListener'dır.

Event Dinleme

Bir event dinlemek için bir class'ta şu aşamaların mutlaka gerçekleşmeli :

Örneğin bir class'ın bir düğmeyi dinlemesini sağlayalım.

1. Class, implements ActionListener' demelidir.

import java.awt.event.*;

public class MyClass implments ActionListener{
}

2. Class'a actionPerformed() methodu eklenir.

import java.awt.event.*;

public class MyClass implments ActionListener{
	public void actionPerformed(ActionEvent evt){
		System.out.println("Düğmeye Basıldı!");
	}
}

3. Düğmeye bu class'ın bir instance'ı addActionListener() methoduyla kaydettirilir.

button.addActionListener(myobject);

Düğmenin tanımlandığı class'la dinleyen class aynıysa button.addActionListener(this);denmesi gerekir.

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır