Bon, si vous êtes toujours là, c'est que vous en voulez, alors vous allez en avoir !
Mais avant d'aller dans les trucs vraiment dingues, on va faire un petit détour du coté des collections et des événements.Comme vous le savez sans doute, Java dispose d'un sacré paquet de collections. Des collections de tous genres, qu'apparemment tous les développeurs ne maîtrisent pas (alors que c'est pourtant, à mon sens, l'un des plus chouettes morceaux du JDK).Pourtant, si vous avez été fouiller dans la doc des classes de l'article précédent, vous avez sans doute constaté que le fournit un moyen pour envoyer des événements concernant les éléments d'un tableau, mais pas ceux d'une collection. Si vous ne voyez pas, je peux clarifier pour vous, il s'agit des méthodes fireIndexedPropertyChange). Comme vous le voyez (on peut même regarder le source), si vous voulez), il s'agit d'envoi d'événements indexés qui se font d'ailleurs passer pour des événements, comme le montre la doc de . Une classe à priori innocente, hein ? Seulement, elle ne correspond qu'à des cas particulièrement spécifiques de collections : des collections où les éléments sont accessibles par indice, et des changements de valeurs qui ne concernent qu'une seule valeur. C'est-à-dire que, par exemple, si votre collection est un , vous êtes roulé (parce que dans un Set, les données n'ont pas d'indice). Et pareil pour une Map.Cela dit, IndexedPropertyChangeEvent nous indique clairement comment faire pour étendre le mécanisme : il suffit, en fait, d'envoyer des événements qui sont des sous-classes de PropertyChangeEvent, et qui sont adaptées à notre cas.
Ce qui nous permet d'écrire quelques classes de collections supportant l'envoi d'événements. Bon, je ne vais pas forcément vous les détailler, ça fera un peu remplissage. Cela dit, pour l'exemple, voici un petit PropertySenderSet (les autres seront tous sur github quand j'aurais réussi à faire marcher ce ... truc) :

[gist https://gist.github.com/1069394]