When should I use TableModel
If you need a complete implementation of a clean table table and / or you must provide something that, by the nature of your model, does not yet exist or does not fit.
and when should extend AbstractTableModel?
If you can reuse the existing structure and methods provided by the abstract class, and / or it will be easier for you to implement it.
The idea is that if you can reuse it, do it. If you cannot, do it from scratch.
Inheriting AbstractTableModel, you will still use the TableModel interface, it will be easier.
source share