Galera, boa tarde e um feliz ano novo.
Minha aplicação está me retornando uma exceção, e estou tentando entender o motivo, eu tenho o seguinte evento dentro de uma JTable.
private void tbCidadesMouseClicked(java.awt.event.MouseEvent evt) {
Cidade c = new Cidade();
CidadeDao dao = new CidadeDao();
int row = tbCidades.getSelectedRow(); //Pego a linha selecionada.
int id = Integer.parseInt(tbCidades.getValueAt(row, 0).toString()); // passo o valor da Id para a variavél id.
c.setIdCidade(id);//seto o objeto com o valor da id;
int index = dao.listar().indexOf(c); //procuro dentro do ArrayList a verdadeira posição do Objeto.
c = dao.listar().get(index); // retorno de dentro do arrayList o objeto da classe cidade.
System.out.println(dao.listar().contains(c));//Exibo uma mensagem se existe dentro do arrayList
if(index>=0){
c = dao.listar().get(index);
setarCampos(c);
habilitaCampos();
btGravar.setEnabled(false);
btAlterar.setEnabled(true);
btExcluir.setEnabled(true);
}
}
Conforme eu vou selecionando as linhas dentro da JTable, os campos de texto vão sendo setados de acordo com o objeto, porém em determinados objetos ele gera uma exceção do tipo java.lang.ArrayIndexOutOfBoundsException: -1
Eu entendo que essa exceção significa uma posição errada dentro do ArrayList, que a linha na JTable não foi selecionada e retorna -1 para o ArrayList, porém essa linha é selecionada dentro da JTable, o que pode estar acontecendo?
