Como identificar linhas duplicadas em JTable?

2 respostas
B
Bom dia pessoal, estou tentando implementar em minha aplicação uma forma de identificar linhas duplicadas. Estou utilizando esse codigo para comparar a ultima linha com todas as linhas menos a ultima.
if(tmPdv.getRowCount()> 1){
              for (int linhas = 0; linhas < jTable1.getRowCount()-1; linhas++) //Pegue o número de linhas da tabela.  
        {
               String ultimaLinha = (String) jTable1.getValueAt(jTable1.getRowCount(), 1) ;
               String linhaAtual = (String) tmPdv.getValueAt(linhas, 1);
            if(ultimaLinha.equals(linhaAtual)){
                JOptionPane.showMessageDialog(null, "Esta linha já exite!");
            }
          
        }
        }

Mais está dando o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 >= 2

Alguem tem uma sugestão? Como posso resolver?

2 Respostas

ViniGodoy

A última linha é a de numero rowCount-1. Então, conserte seu get da última linha:

De qualquer forma, o ideal seria você implementar seu próprio TableModel e abandonar o uso do getValueAt e a necessidade desses casts horríveis.

B

Obrigado meu caro.
Segui as suas orientações e deu tudo certo, utilisei minha TableModel e consertei a linha com erro.

Criado 23 de março de 2014
Ultima resposta 23 de mar. de 2014
Respostas 2
Participantes 2