RE:AbstractTableModel y DefaultTableModel
Hola:
En realidad tienes cuatro posibilidades: Trabajar directamente con JTable, usar TableModel, usar AbstractTableModel o usar DefaultTableModel.
La primera está bien si la tabla es fija y no vas a requerir cambio en los datos. Fijate que JTable apenas tiene métodos para borrar filas, añadir columnas, etc, etc.
La de TableModel es la más costosa de programar, pero la que da más versatilidad. TableModel es una interface y tienes que escribir tú todos los métodos para añadir , borrar y modificar datos, además de implementar un mecanismo de suscripción a cambios en los datos http://www.chuidiang.com/java/tablas/tablamodelo/tablamodelo.html. Puedes hacerlo como quieras y de la forma que mejor te venga, pero tienes que hacerlo tú todo.
La de DefaultTableModel es la más sencilla. No tienes que escribir nada de código. DefaultTableModel tiene todos los métodos necesarios para añadir, modificar y borrar celdas. http://www.chuidiang.com/chuwiki/index.php?title=JTable
AbstractTableModel es una intermedia entre las dos anteriores. Tiene implementado y por tanto no tienes que hacer tú todos los mecanismos de "suscripción" a cambios de datos. Unicamente tienes que codificar los añadir, borrar y modificar datos.
¿Cual es mejor?. Si no tienes necesidades especiales y tus datos se parecen bastante a una tabla, es mejor usar DefaultTableModel. Es lo más cómodo. Si necesitas hacer algo que DefaultTableModel no te ofrezca, entonces debes probar alguna de las otras opciones.
Se bueno.