| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 14:59:48
|
Anderson S.
JavaEvangelist
Membro desde: 02/03/2010 23:54:21
Mensagens: 441
Localização: Paracatu - Minas Gerias
Offline
|
Boa tarde galera, sempre quando atualizo os dados, eles vão para a ultima posição da JTable, e estou utilizando TableModel que eu mesmo criei... por que???
Vo postar meus códigos fontes referentes a alteração..Vlw
MÉTODO ALTERAR DO DAO - (VAI NO BANCO DE DADOS)
MÉTODO ALTERAR DAS REGRAS DE NEGÓCIO
EVENTO DO MOUSE
BOTAO ALTERAR
OBS OS DADOS ESTÃO SENDO ALTERADOS PERFEITAMENTE NO BANCO DE DADOS, O PROBLEMA É QUE ESTÃO INDO PRA ULTIMA POSIçÃO DO JTABLE).
This message was edited 3 times. Last update was at 14/03/2010 20:29:51
|
Bacharelando em Sistemas de Informação
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 15:14:00
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19489
Localização: Curitiba/PR
Offline
|
Por que você está criando um novo contato, se você só quer altera-lo?
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 15:15:52
|
Anderson S.
JavaEvangelist
Membro desde: 02/03/2010 23:54:21
Mensagens: 441
Localização: Paracatu - Minas Gerias
Offline
|
Em que lugar estou criando um novo contato???
Obs(Os dados estão sendo alterados perfeitamente alterados no banco de dados, mas eles Aparecem na JTable na ultima posição, e só depois que fecho e abro a aplicação de novo!!
na verdade são 2 probelmas )
This message was edited 3 times. Last update was at 12/03/2010 15:39:17
|
Bacharelando em Sistemas de Informação
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 16:20:16
|
malucocelo
JavaBaby
![[Avatar]](/images/avatar/92914b863caab3084c5cf0cb02e72b11.png)
Membro desde: 05/08/2009 12:38:53
Mensagens: 75
Offline
|
Tua consulta tá ordenada? Imagino que seja isso.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 16:30:38
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19489
Localização: Curitiba/PR
Offline
|
Dentro do método alterar contato, olha o new lá.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 12:42:17
|
Anderson S.
JavaEvangelist
Membro desde: 02/03/2010 23:54:21
Mensagens: 441
Localização: Paracatu - Minas Gerias
Offline
|
Não Viny, dentro de método alterar contato nao estou criando ele de novo não, eu estanciei a classe contato dentro do método alterar contato para passa-lá como parametro para a classe contatoDAO, repare be dentro da clase contatoDAO que vc ai ver os parametros da classe Contato serem utiliados lá, dentro da classe contatoDAO, estão sendo utilizados os atributos que foram passados como parametros da classe contato, eu ainda seto ambos no statement... infelizmente eu acho que nao é esse o problema nao..
This message was edited 1 time. Last update was at 13/03/2010 12:44:49
|
Bacharelando em Sistemas de Informação
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 13:06:23
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19489
Localização: Curitiba/PR
Offline
|
O primeiro passo é alterar o método alterarContato para trabalhar com o contato dentro do JTable: Note que tirei fora a necessidade de passar o parâmetro id, já que ele já está dentro do objeto contato e geralmente ele nunca é alterado. Ok, agora altere o seu evento de botão para usar esse método, e avisar a tabela que a linha daquele contato mudou: Outra coisa. Seu evento de mouseClick tem um sério problema. Se você alterar a ordem dos campos da tabela, ele para de funcionar. Por isso, é melhor sempre se basear na sua classe de negócio: Assim as colunas podem alterar de ordem livremente, sem que você tenha que alterar essa função. Ainda volto a insistir para que você crie uma função: Isso evita a criação dessa variável: Já que você pode simplesmente chamar getModel() no lugar dela. E com a vantagem de que se o nome da classe ou da tabela mudarem, você só precisará alterar isso em 1 único ponto do seu código.
This message was edited 1 time. Last update was at 13/03/2010 13:07:42
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 13:29:57
|
Anderson S.
JavaEvangelist
Membro desde: 02/03/2010 23:54:21
Mensagens: 441
Localização: Paracatu - Minas Gerias
Offline
|
ViniGodoy wrote:O primeiro passo é alterar o método alterarContato para trabalhar com o contato dentro do JTable:
Note que tirei fora a necessidade de passar o parâmetro id, já que ele já está dentro do objeto contato e geralmente ele nunca é alterado.
Ok, agora altere o seu evento de botão para usar esse método, e avisar a tabela que a linha daquele contato mudou:
Ai Viny, fiz isso ai que vc mandou, e os dados nao estão sendo alterados...por que?????
|
Bacharelando em Sistemas de Informação
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 13:33:57
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19489
Localização: Curitiba/PR
Offline
|
Posta de novo seus métodos pra ver se não faltou nada.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 13:49:23
|
Anderson S.
JavaEvangelist
Membro desde: 02/03/2010 23:54:21
Mensagens: 441
Localização: Paracatu - Minas Gerias
Offline
|
ta ai..
|
Bacharelando em Sistemas de Informação
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 13:51:37
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19489
Localização: Curitiba/PR
Offline
|
Seu método alterarContato continua criando um contato novo, e não tem absolutamente nada a ver com o que eu escrevi. Repetindo, você precisa alterar o contato que está dentro do JTable, não criar uma cópia dele fora do JTable. Só assim os dados de dentro do model serão atualizados e dizer que as linhas foram alteradas fará algum sentido.
This message was edited 1 time. Last update was at 13/03/2010 13:52:53
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 13:55:34
|
Anderson S.
JavaEvangelist
Membro desde: 02/03/2010 23:54:21
Mensagens: 441
Localização: Paracatu - Minas Gerias
Offline
|
Viny, mas aquilo é um simles método contrutor, sempre que o ativo, ele lança os valores para as suas respectivas variáveis...vou tenar aqui, caso nao der certo posto novamente..vlw
|
Bacharelando em Sistemas de Informação
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 13:55:45
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19489
Localização: Curitiba/PR
Offline
|
Ah, só uma explicação. Quando você faz: Você está apenas alterando o valor da referência x. Mas isso não altera o valor da referência fora (o valor de a). O que acontece é que a e x passam a apontar para objetos diferentes. É o mesmo caso seu, ao fazer Você está alterando a referência da variável local contato do método alteraContato, para um novo contato, recém criado. O contato que está dentro do model, continua completamente inalterado. Por isso, é importante receber a referência e dar set nos campos dela. Como as duas apontarão para o mesmo local, o set será dado no contato recebido como parâmetro.
This message was edited 1 time. Last update was at 13/03/2010 13:57:21
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 14:00:27
|
Anderson S.
JavaEvangelist
Membro desde: 02/03/2010 23:54:21
Mensagens: 441
Localização: Paracatu - Minas Gerias
Offline
|
Viny, ele foi alterado perfeitamente, inclusive ele foi alterado em tempo de execução, mas ocorreu um problema, ele continua indo pra ultima posição,mas ele vai pra ultima posição sempre que fecho e abro a aplicação novamente
This message was edited 1 time. Last update was at 13/03/2010 14:02:01
|
Bacharelando em Sistemas de Informação
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 16:18:38
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19489
Localização: Curitiba/PR
Offline
|
E que critério você está usando para ordenar os registros no listar() do seu DAO?
This message was edited 1 time. Last update was at 13/03/2010 16:19:14
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|