Clase DefaultTableModel en Java Almacena datos para JTable

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.

instagram viewer

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

.