Olá pessoal queria uma ajuda de vocês, tanto na lógica como no comando java!
como faço para criar um comando que remove linhas duplicadas em uma DefaultTableModel?
Exemplo: Tabela com 3 colunas chamada id, frutas, quantidade
queria um código que removese essa dublicação mantendo apenas o que tem maior quantidade removendo por um botão sem precisa que a pessoa clique na linha dublicada!
Primeiramente na utilize DefaultTableModel ele só é útil para grades com conteúdo fixo.
Especialize seu próprio TableModel estendendo a classe AbstractTableModel.
Depois, se você estiver programando orientado a objetos, é só verificar sua coleção de objetos Fruta e quando encontrar alguma repetida, atualizar a quantidade da primera e remover a repetida.
consegui resolver com a lógica empregada neste código ficou show comparando os IDs
onde j sempre será a ocorrencia da quantidade menor, pois ela sempre sai dublida por ultimo na tabela!
for (int i = 0; i < modelo.getRowCount(); i++) {
for (int j = i+1; j < modelo.getRowCount(); j++) {
if ((int)modelo.getValueAt(i, 0) == (int)modelo.getValueAt(j, 0)) { //System.out.println(“i”+ modelo.getValueAt(i, 0)); //System.out.println(“j”+ modelo.getValueAt(j, 0));
modelo.removeRow(j);
}
}
}