Classe DefaultTableModel em Java armazena dados para a JTable

o

DefaultTableModel

classe é uma subclasse do

AbstractTableModel

. Como o nome sugere, é o modelo de tabela usado por um

quando nenhum modelo de tabela é definido especificamente pelo programador. O DefaultTableModel armazena os dados para a JTable em um

Vetor

do

Vetores

.

Apesar de

Vetor

é uma coleção Java herdada, ainda é suportada e não há problema em usá-la, a menos que a sobrecarga adicional causada pelo uso de uma coleção sincronizada seja um problema para seu aplicativo Java.

A vantagem de usar o

DefaultTableModel

sobre um costume

AbstractTableModel

é que você não precisa codificar os métodos como adicionar, inserir ou excluir linhas e colunas. Eles já existem para alterar os dados mantidos no

Vetor

do

Vetores.

Isso o torna um modelo de tabela rápido e fácil de implementar.

Declaração de importação

importar javax.swing.table. DefaultTableModel;

Construtores

o

DefaultTableModel

classe tem seis

. Cada um pode ser usado para preencher o

DefaultTableModel

De maneiras diferentes.

O primeiro construtor não aceita argumentos e cria um

instagram viewer
DefaultTableModel

que não possui dados, zero colunas e zero linhas:

DefaultTableModel defTableModel = DefaultTableModel ();

O próximo construtor pode ser usado para especificar o número de linhas e colunas de um

DefaultTableModel

sem dados:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);

Existem dois construtores que podem ser usados ​​para criar um

DefaultTableModel

com nomes de colunas e um número especificado de linhas (todas contendo valores nulos). Um usa um

Objeto

matriz para armazenar os nomes das colunas, o outro

Vetor

:

ou

DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);

Finalmente, existem dois construtores usados ​​para preencher o

DefaultTableModel

com dados da linha junto com os nomes das colunas. Um usado

Objeto

matrizes, o outro

Vetores

:

ou

Métodos úteis

Para adicionar uma linha ao

DefaultTableModel

use o

adicionar linha

junto com os dados da linha para adicionar:

Para inserir uma linha, use o

insertRow

, especificando o índice de linha a ser inserido e os dados da linha:

Para excluir uma linha, use o

removeRow

, especificando o índice da linha a ser excluída:

defTableModel.removeRow (0);

Para obter um valor em uma célula da tabela, use o

getValueAt

método. Por exemplo, se os dados na linha 2, coluna 2 contiverem um int:

valor int = tabModel.getValueAt (2, 2);

Para definir um valor em uma célula da tabela

setValueAt

método com o valor a ser definido junto com o índice de linha e coluna:

defTableModel.setValueAt (8888, 3, 2);

Dicas de uso

Se um

JTable

é criado usando o construtor que recebe uma matriz bidimensional que contém os dados da linha e uma matriz que contém os nomes das colunas:

o seguinte elenco não funcionará:

Um tempo de execução

ClassCastException

será lançado porque, neste caso, o

DefaultTableModel

é declarado como

no

JTable

objeto e não pode ser convertido. Só pode ser transmitido para o

TableModel

interface. Uma maneira de contornar isso é criar seu próprio

DefaultTableModel

e configurá-lo para ser o modelo do

JTable

:

Então o

DefaultTableModel
defTableModel

pode ser usado para manipular os dados no

JTable

.

Para ver o

DefaultTableModel

em ação, dê uma olhada no

.

instagram story viewer