Bonjour, j'essaie de faire un petit dispatcher d’événements hors liste d'affichage qui fonctionne un peu de la même manière et je me heurte aux génériques qui ne veulent rien savoir (ligne 32).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
public class EventDispatcher
{
	private LinkedHashMap<EventType<? extends Event>, ArrayList<EventHandler<? extends Event>>> _listeners;
 
 
	public EventDispatcher()
	{
		_listeners = new LinkedHashMap<EventType<? extends Event>, ArrayList<EventHandler<? extends Event>>>(1, 1);
	}
 
 
	public <T extends Event> void addEventListener(EventType<T> type, EventHandler<T> listener)
	{
		ArrayList<EventHandler<? extends Event>> l = _listeners.get(type);
 
		if (l == null)
		{
			l = new ArrayList<EventHandler<? extends Event>>(1);
			_listeners.put(type, l);
		}
 
		if (!l.contains(listener)) l.add(listener);
	}
 
 
	public void dispatchEvent(Event event)
	{
		EventType<? extends Event> t = event.getEventType();
		ArrayList<EventHandler<? extends Event>> l = _listeners.get(t);
		if (l == null) return;
		for (EventHandler<? extends Event> i : l) i.handle(event); // capture<? extends Event> cannot be applied to (Event)
	}
}
Où sont mes erreurs ?