I have implemented the gui such that my controller contains and updates the table model when search data comes back from the server. this is automatically updating my gui table without the gui having to process 'tabledChanged" or any other kind of events. Is this how the table model works?
Sounds like your table model acts as an application model in your MVC. I would actually have a separate class to be a model, which in turn can call the methods on table model. The reason for that is to make your models coherent: your table model responsibility should only be setting the data in JTable, while your application model responsibility is to implement business logic, such as searchFlights() and bookFlights() methods.
The key here is that all methods of a class (any class) should be on the same level of hierarchy. So if you see a class something like below, something is wrong:
Eugene.