Como selecionar uma linha de um jtable.

Java

11/05/2011

Boa tarde,

Criei um metodo com nome preencher  para usar o jtable. Após eu usar este metodo gostaria de saber como posso selecionar uma linhas para atualizar algumas informações do banco com as linhas selecionadas.
David Alberto

David Alberto

Curtidas 0

Respostas

Anthony Accioly

Anthony Accioly

11/05/2011

O TableModel obtido através do método getModel da JTable, possui o método getValueAt capaz de recuperar os valores de qualquer cell.Uma boa solução é usar um TableModelListener para marcar as linhas que foram editadas. Dessa forma você não tem que percorrer a tabela inteira novamente vendo quais objetos foram modificados. Alguns sistemas inclusive fazem atualizações online quando o usuário acabou de editar uma cell (Cuidado com problemas de performance desse tipo de solução)
Se a idéia é editar várias cells para salvar depois (por exemplo, ao clicar em um botão), eu recomendaria setar uma flag do tipo "foiEditada" para cada objeto (geralmente representado por uma linha da tabela), ou adicionar os objetos editados a um Set, toda vez que for disparado um evento tableChanged.
Na hora de persistir você usa os objetos marcados com a flag / presentes no Set para fazer as atualizações.Se você ainda não leu esse documento de uma ponta a outra, eu recomendo muito o Tutorial Oficial da Sun (erm.. Oracle):     http://download.oracle.com/javase/tutorial/uiswing/components/table.html

Ps: Trabalhar com TableModels na unha dá um bocado de trabalho. Bibliotecas como http://java.net/projects/beansbinding/ (excelente suporte no IDE Netbeans) podem facilitar bastante sua vida, mantendo seus objetos e o modelo da tabela devidamente sincronizados. Veja esses tutoriais do Netbeans que ensinam a usar Swing + BeansBinding + AppFramework:     http://netbeans.org/kb/docs/java/gui-db.html     http://netbeans.org/kb/docs/java/gui-binding.html
GOSTEI 0
Anthony Accioly

Anthony Accioly

11/05/2011

Outra sugestão é dar uma olhada em Glazed Lists, quebra um galhão para fazer esse tipo de coisa.
GOSTEI 0
Dyego Carmo

Dyego Carmo

11/05/2011

No meu devspace vc pode ver algumas aulas sobre Sw2ing , e la eu ensino EXATAMENTE ISSO..


Valeu !

GOSTEI 0
POSTAR