Java dasturlash tilida foydalanuvchi xosil qilgan xodisalarni qabul qiluvchi obyektlar qabul qilib ularga belgilangan amallarni bajaradi. Obyektlarga ixtisoslashgan dasturlash tiliga xos bo’lganidek, xodisa java.util o’ramida joylashgan EventObject klassi tomonidan yaratiladigan obyekt orqali ifodalanadi. Xar bir xodisa turi uchun o’zining ostki klasslari mavjud, masalan, tugmalar uchun ActionEvent, oynalar uchun esa WindowEvent. Xodisani xosil qiluvchi foydalanuvchi interfeysi elementi xodisa manbasi deyiladi.
Xodisalarni boshqarish quyidagicha amalga oshiriladi:
1. Xodisani qabul qiluvchi obyekt xodisa nazorat qiluvchi interfeysni bajaradi;
2. Xodisa manbasi xodisani qabul qila oladigan va unga xodisa obyektini yubora oladigan obyektni belgilaydi;
3. Xodisa xosil bo’lganda xodisa manbasi xodisa obyektini belgilangan barcha xodisani qabul qiluvchi obyektlarga jo’natadi;
4. Xodisani qabul qiluvchi obyekt xodisa obyektidagi ma’lumotni bajariladigan amalni xal qilishda ishlatadi.
Xodisani qabul qiluvchi obyektni xodisa manbasiga belgilash misoli quyida keltirilgan:
ActionListener listener = new TugmaListener();
JButton button = new JButton("OK");
button.addActionListener(listener);
Ushbu misolning birinchi qatorida xodisani qabul qiluvchi obyekt yaratilgan. Ikkinchi qatorda xodisa manbasi yaratilgan. Uchinchi qatorda xodisa manbasiga xodisani qabul qiluvchi obyekt belgilangan. Xodisa xosil qilinganda (ya’ni foydalanuvchi tugmani bosganda) xodisa manbasi xodisani xosil qilib (ushbu xolda ActionEvent xodisasini) xodisa qabul qiluvchi obyektga uzatadi. Xodisani qabul qiluvchi obyekt klassi tegishli interfeysni (ushbu xolda ActionListener interfeysini) bajarishi kerak bo’ladi. ActionListener interfeysini bajarish uchun xodisani qabul qiluvchi obyekt klassi ActionEvent obyektini argument sifatida qabul qiluvchi actionPerformed() metodiga ega bo’lishi kerak.
public class TugmaListener implements ActionListener
{
public void actionPerformed(ActionEvent xodisa)
{
//bajariladigan amal kodi
}
}
Foydalanuvchi tugmani bosganda JButton obyekti ActionEvent xodisa obyektini xosil qilib xodisani qabul qiluvchi obyektga uzatadi va actionPerformed() metodi chaqirilib undagi amal bajariladi.