JTable

5 respostas
H

Olá!
Estou fazendo um aplicação que pega os dados do banco de dados e cria uma JTable com os dados correspondentes, porem, gostaria de saber se existe algum modo que faça a atualização no banco de dados, qdo o usuário modificar as celulas da tabela. Por exemplo … tenho uma tabela cujo uma das celulas tem um nome qqr, JOSÉ por exemplo. O usuário vai lá e renomeia José para Augusto (na JTable), gostaria que no banco de dados a célula correspondente tb mudasse JOSÉ para Augusto.
Desde já agradeço toda e qqr atenção dada.

5 Respostas

cv1

Adicione um PropertyChangeListener à JTable que “escuta” quando alguma propriedade foi modificada…

Você pode usar um ModelChangeListener tambem, mas eu tou sem Eclipse aqui, entao eu nao sei mais nada de Java pelas próximas horas :wink:

(eu volto nesse post daqui a pouco pra completar, mas comente assim mesmo ;))

ricardolecheta

na instalaçãp do jdk vem um demo de JTable, e tem o que vc procura.

/java/demo/jfc/TableExample/

brlima

Meu,

Na verdade vc n lugares pra colocar listener numa Jtable, mas acho que o melhor seria dar um addTableModelListener no modelo, pois voce pega as alterações que foram pro modelo dessa JTable.

Voce pode usar tambem um listener pra quando finalizar a edição da celula : só que ai voce tem q adicionar o listener pra cada CellEditor. Nesse vc consegue ver quem conclui a edição ( editingStopped) ou quem desistiu e cancelou ( editingCanceled ).

Blz?.. :twisted:

H

valew moçada vou dar um olhada em todas as soluções propostas e tentar achar a melhor solução pro meu problema!
Muito obrigado mesmo!

Shumy

Criando um modelo para a JTable, chamado MeuModelo por exeplo, vc terá o seguinte:

public class MeuModelo extends AbstractTableModel{

Object[][] dados;
String[] colunas;



public void setValueAt (Object valor, int row, int col){

Object antes, depois;
String query;

antes = dados[row][col];

dados[row][col] = valor;

depois = valor;

// Agora, usando essa ideia vc pode criar uma query e realizar a consulta

query = UPDATE tabela SET …”;

RealizaConsulta (query);

}

}

Tipo, eu fiz um programinha aqui usando isso… naum sei se é a forma mais certa ou mais eficiente, sei que funciona… No meu tem mais coisas, eu coloquei ai só a idéia de como faz… se vc tiver alguma duvida me manda um e-mail ([email removido]).

Até mais
Shumy

Criado 18 de dezembro de 2003
Ultima resposta 24 de dez. de 2003
Respostas 5
Participantes 5