How do you add/remove elements from the Vector?
Don't you have to do that programatically?
So... You know WHEN it is happening, why would you need a listener?
A listener "listens" for events that you don't know when they will occur.
(Like a user; pushing a button, checking a box, or selecting a radio button)
I think you will have to wrap the Vector (or extend the Vector class) in your own class that implements an addListener(...) method and overrides add() etc to broadcast the change event forwarding the change to the the Vector.
This is basically what javax.swing.DefaultListModel does to support JList objects - you may find that a javax.swing.DefaultListModel is all you need.
Yes, that explanation clarifies it. DefaultListModel sounds ideal - it supports a Vector-like data model and was designed for the JList GUI component to track its changes, but the Listener design pattern it uses will work for any other class that wants to know about changes. I doubt you will find a (much) better solution.