Well,
When you implement the AbstractTableModel, the method getValueAt tells you table model which Vector or Array of Strings to use for the Table Data. So like in Observer/Observable, the way you notify any changes to the table model is by using the fireXXX methods (instead of setChanged(); notifyObservers()
Hope this helps