Zdarzenie foo tworzone jest poprzez:
utworzenie interfejsu zdarzenia FooListener rozszerzającego interfejs java.util.EventListener, dodanie metod addFooEventListener() oraz removeFooEventListener(), które pozwalają rejestrować i usuwać procedury obsługi zdarzenia.
Specyfikacja nie precyzuje, w jaki sposób komponent emituje zdarzenie. Operacja ta może, ale nie musi być udostępniona na zewnątrz ziarna. Jeśli komponent reprezentuje kontrolkę graficznego interfejsu użytkownika, wygenerowanym zdarzeniem może być np. kliknięcie w kontrolkę. Tworząc obiekt implementujący wymieniony wyżej interfejs, możemy dodać do kontrolki własny kod obsługi kliknięcia.
import java.util.EventListener; import java.util.List; import java.util.LinkedList;
class SomeControl implements Serializable { private List<FooListener> fooListeners;
public SomeControl() { this.fooListeners = new LinkedList<>();
public void addFooEventListener(FooListener listener) { this.fooListeners.add(listener);
public void removeFooEventListener(FooListener listener) { this.fooListeners.remove(listener);
public static interface FooListener extends EventListener { public void processFoo();
Wizualne narzędzia budowy kodu potrafią rozpoznawać zdarzenia obsługiwane przez ziarno i udostępniać kreatory obiektów odpowiedzi.