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.