java.awt paketi
 
 
Event

Arayüz Bileşenleri

Event Sınıfı


java.awt.Event Sınıfı Diyagramı

Event

Olay Yönetimi (Handling Events)

Applet ve arayüz (GUI), kullanıcı ile etkileşim yapmak için, bileşenlerinde oluşan olayları yönetmelidir. Örneğin, bir düğmeye tıklanması, farenin bir nesne üzerinde durması, farenin nesne üzerinden kaldırılması, bir nesnenin sürüklenmesi, bir text alanına veri girilmesi, seçme kutularından seçim yapılması birer olaydır. Bu olaylara, Java'da "Event" denilir. Oluşan bir olaydan sonra yapılması istenen işlerin yürütülmesine de "Event Handling" denir.

Bu bölümde, AWT nin yönettiği başlıca olayları açıklayacağız. Applet'lerdeki olayların bazısını trayıcı (browser) lar yönetir. Bunun için, tarayıcıda, gerekli java bileşenlerinin yüklenmiş olması gerekir. Eğer, applet'leriniz tarayıcınızda görünmüyorsa, Java Plug-in yüklü olmayabilir. Bu programı internetten indirebilirsiniz. Uygulama programlarındaki olayları yönetmek için, gerekli kodların programa yazılması gerekir.

Event yönetimi, komutların yazılış sırasıyla yürütüldüğü programlardan biraz farklıdır. Çünkü, burada komutlar programa yazıldığı sıra ile değil, olayların (events) oluş sırasına göre yürütülür.

Java'da olayların bildirisi Event sınıfı ile yapılır.

Başlıca Event ' ler Listesi

Event Class Açıklama
ActionEvent Düğmeye basma, listeden birisini çift tıklama, menüden seçim
AdjustmentEvent Kaydırma çubuğu (scroolbar) kullanımı
ComponentEvent Bileşenin boyutlarını değiştirme, sürükleme, saklama, gösterme
FocusEvent Bir bileşenin klâye ile etkileşimi
ItemEvent Menü, checkbox, list seçimi
WindowEvent Pencere etkinleştirme, açma, kapama, vazgeçme
TextEvent TextField, TextArea içeriğinin değişimi
MouseEvent Farenin hareketi, tıklama, sürükleme, bırakma
KeyEvent Klâvye'den giriş

Bu olayları (events) yöneten arayüzler (interface):

Arayüz (Interface) Açıklama
ActionListener ActionEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
AdjustmentListener AdjustmentEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
ComponenListener ComponentEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
FocusListener FocusEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
ItemListener ItemEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
WindowListener WindowEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
TextListener TextEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
MouseListener MouseEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
MouseMotionListener MouseEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır
KeyListener KeyEvent 'i algılar (dinler) ve gereğini yapacak metodu çalıştırır

Örnek 1


Event Örneği

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class ButtonPanel extends JPanel 
   implements ActionListener
{  
   public ButtonPanel()
   {  
	yellowButton = new JButton("Sarı");
      blueButton   = new JButton("Mavi");
      redButton    = new JButton("Kırmızı");

      add(yellowButton);
      add(blueButton);
      add(redButton);

      yellowButton.addActionListener(this); 
      blueButton.addActionListener(this); 
      redButton.addActionListener(this); 
   }

   public void actionPerformed(ActionEvent evt)
   {  
	Object source = evt.getSource();
      Color color  = getBackground();
      if (source   == yellowButton) color = Color.yellow;
      else if (source == blueButton) color = Color.blue;
      else if (source == redButton) color = Color.red;
      setBackground(color);
      repaint();
   }

   private JButton yellowButton;
   private JButton blueButton;
   private JButton redButton; 
}


class ButtonFrame extends JFrame
{  public ButtonFrame()
   {  setTitle("ButtonTest");
      setSize(300, 200);
      addWindowListener(new WindowAdapter()
         {  public void windowClosing(WindowEvent e)
            {  System.exit(0);
            }
         } );

      Container contentPane = getContentPane();
      contentPane.add(new ButtonPanel());
   }
}

public class ButtonTest
{  public static void main(String[] args)
   {  JFrame frame = new ButtonFrame();
      frame.show();  
   }
}