los
DefaultTableModel
clase es una subclase de la
AbstractTableModel
. Como su nombre indica, es el modelo de tabla que utiliza un
cuando el programador no define específicamente ningún modelo de tabla. DefaultTableModel almacena los datos de JTable en un
Vector
de
Vectores
.
Aunque el
Vector
es una colección de Java heredada, todavía es compatible y no hay ningún problema con su uso a menos que la sobrecarga adicional causada por el uso de una colección sincronizada sea un problema para su aplicación Java.
La ventaja de usar el
DefaultTableModel
sobre una costumbre
AbstractTableModel
es que no tiene que codificar los métodos como agregar, insertar o eliminar filas y columnas. Ya existen para cambiar los datos contenidos en el
Vector
de
Vectores
Esto lo convierte en un modelo de tabla rápido y fácil de implementar.
Declaración de importación
import javax.swing.table. DefaultTableModel;
Constructores
los
DefaultTableModel
la clase tiene seis
. Cada uno puede ser usado para poblar
DefaultTableModel
En maneras diferentes.
El primer constructor no toma argumentos y crea un
DefaultTableModel
que no tiene datos, cero columnas y cero filas:
DefaultTableModel defTableModel = DefaultTableModel ();
El siguiente constructor se puede usar para especificar el número de filas y columnas de un
DefaultTableModel
sin datos:
DefaultTableModel defTableModel = DefaultTableModel (10, 10);
Hay dos constructores que se pueden usar para crear un
DefaultTableModel
con nombres de columna y un número especificado de filas (todas con valores nulos). Uno usa un
Objeto
matriz para contener los nombres de columna, el otro un
Vector
:
o
DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);
Finalmente hay dos constructores utilizados para poblar el
DefaultTableModel
con datos de fila junto con nombres de columna. Uno usado
Objeto
matrices, el otro
Vectores
:
o
Métodos útiles
Para agregar una fila a la
DefaultTableModel
utilizar el
añadir fila
método junto con los datos de fila para agregar:
Para insertar una fila use el
insertar fila
método, especificando el índice de fila para insertar y los datos de fila:
Para eliminar una fila, use el
removeRow
método, especificando el índice de fila para eliminar:
defTableModel.removeRow (0);
Para obtener un valor en una celda de la tabla, use el
getValueAt
método. Por ejemplo, si los datos en la fila 2, la columna 2 contienen un int:
valor int = tabModel.getValueAt (2, 2);
Para establecer un valor en una celda de la tabla
setValueAt
Método con el valor para establecer junto con el índice de fila y columna:
defTableModel.setValueAt (8888, 3, 2);
Consejos de uso
Si un
JTable
se crea utilizando el constructor al que se le pasa una matriz bidimensional que contiene los datos de la fila y una matriz que contiene los nombres de las columnas:
entonces el siguiente elenco no funcionará:
Un tiempo de ejecución
ClassCastException
será arrojado porque en este caso el
DefaultTableModel
se declara como un
en el
JTable
objeto y no se puede lanzar. Solo se puede lanzar al
TableModel
interfaz. Una forma de evitar esto es crear tu propio
DefaultTableModel
y configurarlo para que sea el modelo de
JTable
:
Entonces el
DefaultTableModel
defTableModel
se puede utilizar para manipular los datos en el
JTable
.
Ver el
DefaultTableModel
en acción echa un vistazo a la
.