|
java.awt paketi
|
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.
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();
}
}