o que quer dizer com “atualizar”? seria ordenar, pq assim que inclui ou exclui um elemento a lista já está atulizada? ou quis dizer Alterar, se for utilize o LinkedList para alterar registro em um lista indexida.
fabiodurgante
isso mesmo quero alterar o item digamos 5 dalista eu listo todo o array em 1 jtable e seleciono alinha q desejo alterrar passo todo o objeto mas
assim recebo os dados so que nao consigo aletrar ele
abelgomes
vc conegue editar na tela? No caso vc não consegue alterar porque como esta fazendo referencia para o objeto da classe Cheque e ela nao tem metodo equals. Ela pega o da superclasse e o da superclasse usa todos os atributos. Tipo vc tem que sobrescrever o equals dizendo qual vai ser o seu criterio para um objeto ser igual ou diferente.
minha classe tem varios atributos, mas eu digo para ela que um objeto sera igual ao outro se estiverem o mesmo codigo. Se eu nao fizer isso ela vai comparar todos os atributos. O metodo contains que vc utiliza para saber se ja existe o objeto utiliza esse metodo(equals) entao quando vc altera o objeto na sua tabela, para a lista é um objeto novo pois pelo menos um atributo é diferente dos demais que ja contem na lista.
Falei muito…mas acho que é isso…espero ter ajudado
esses ai funciona perfeitamente eu pego atraves do jtable o objeto assim
Chequec=buscaNaTabela();if(c!=null)newalterar_cheque_data(null,true,c).setVisible(true);}//-------------------------------------------------------------------privateChequebuscaNaTabela(){if(jtblClientes.getSelectedRow()==-1){JOptionPane.showMessageDialog(this,"Selecione uma linha da tabela","Erro",JOptionPane.ERROR_MESSAGE);returnnull;}Integerid=Integer.parseInt(jtblClientes.getValueAt(jtblClientes.getSelectedRow(),0).toString());returnChequeDao.consultarLISTA(id);}
pega direitinho abre o jdialog com os dados certinho certinho porem nao sei como altera-lo
depois no jdialog fica ssim no construtor
publicalterar_cheque_data(java.awt.Frameparent,booleanmodal,Chequecheque){super(parent,modal);initComponents();//ven = new Venda();//GregorianCalendar gc = new GregorianCalendar();// System.out.print( gc.getTime());Stringdata="dd/MM/yyyy";Stringdata1,data2,hora1;SimpleDateFormatformata=newSimpleDateFormat(data);data1=formata.format(cheque.getdata_atual());data2=formata.format(cheque.getdata_cheque());//jtfhora_venda.setText(hora1);jtfdata_atual.setText(data1);taxa_juros.setText(cheque.gettaxa_juros().toString());jtfdata_atual.setText(cheque.gettaxa_juros().toString());valor_cheque.setText(cheque.getvalor_cheque().toString());jtfdata_atual.setText(data1);jtfdata_cheque.setText(data2);jtfvalor_devolver.setText(cheque.getvalor_devolver().toString());jtfvalor_juros.setText(cheque.getvalor_juros().toString());}
abelgomes
dentro da sua classe Cheque vc sobrescreve o equals e diz qual vai ser seu criterio de idenficação dos objetos. Pq do jeito que esta ele usa todos os atributos.
se sua classe cheque tiver 100 atributos e sua lista 10 objetos. QAundo for inserir um novo objeto na lista, quando vc faz isso
if(Lista_cheque.contains(cli))
return;
só vai retornar se todos os 100 atributos forem iguais. NO caso vc clica em editar e altera qualquer coisa, para a lista será um novo objeto pq vc nao sobrescreveu seu equals e ela vai comprar com os 100 atributos…COnseguiu pegar a ideia?
fabiodurgante
entendi mas nao sei fazer poderia alterarr um metodo dos meus ai pra dar uma clareada desde ja agradeço
Nesse caso foi colado seu id do cheque como sendo a unica chave do objeto. Faça o teste agora
fabiodurgante
onde eu uso isso ai tipo pra alterar
Chequec=buscaNaTabela();if(c!=null)newalterar_cheque_data(null,true,c).setVisible(true);}//-------------------------------------------------------------------privateChequebuscaNaTabela(){if(jtblClientes.getSelectedRow()==-1){JOptionPane.showMessageDialog(this,"Selecione uma linha da tabela","Erro",JOptionPane.ERROR_MESSAGE);returnnull;}Integerid=Integer.parseInt(jtblClientes.getValueAt(jtblClientes.getSelectedRow(),0).toString());returnChequeDao.consultarLISTA(id);}
teria qu eter um metodo
e dar um
Lista_cheque.get(cli.getid_cheque());
para poder mecher nos itens senao como altera-los ???