Existem vários construtores para as JTable, o que iremos utilizar é o seguinte:
JTable(TableModel dm)
A
TableModel é uma interface que possui os seguintes métodos que iremos implementar neste exemplo:int - getColumnCount()
: Retorna o número de colunas do modelo.String
- getColumnName(int indexColuna):
Retorna o nome da coluna que está no índice passado por parâmetro.int
- getRowCount()
: Retorna o número de linhas da Tabela.Object getValueAt(int linhaIndex, int colunaIndex)
: Retorna o objeto presente na célula que está na linha de índice linhaIndex
e na coluna colunaIndex.
boolean isCellEditable(int
linhaIndex
, int colunaIndex)
: Retorna true se a célula que está na linha linhaIndex
e na coluna colunaIndex.
Este método não precisa ser implementado se você não quiser que as células da sua tabela sejam editáveis.void
setValueAt(Object valor, int linhaIndex, int colunaIndex) :
Este método coluna na célula de linhaIndex
e colunaIndex
o Object valor.
Com esses métodos implementados, conseguimos construir tabelas com nossos próprios modelos, os quais podem ser alterados no meio da execução do programa.Nesse link está o código da TableModel que usei para o exemplo.
Nossa classe TesteTableModel irá desmonstrar algumas das opções que temos com nossa Table Model. Clique aqui para vizualizar a classe.
Segue o link para ver a classe Pessoa, que foi utilizada no teste do uso de tabelas. A classe possui apenas getters e setters sem preocupar-se com validações.
Quaisquer dúvidas, críticas ou sugestões podem enviar email para elton.souza@acad.pucrs.br ou deixar comentários.
Até a próxima.