Creio que agora não tem erro, segue abaixo o meu código usando identity:
sql = "INSERT INTO Pessoa (CodLogradouro, Nome, CPF, RG, NumLocalizacao, Complemento, FoneResidencial, FoneComercial, FoneCelular, OBS) " +
"VALUES (?,?,?,?,?,?,?,?,?,?)";
try {
this.m_Conectar();
stmt = this.conexao.prepareStatement(sql);
stmt.setInt(1, p_Pessoa.getCodLogradouro());
stmt.setString(2, p_Pessoa.getNome());
stmt.setString(3, p_Pessoa.getCPF());
stmt.setString(4, p_Pessoa.getRG());
stmt.setInt(5, p_Pessoa.getNumLocalizacao());
stmt.setString(6, p_Pessoa.getComplemento());
stmt.setString(7,p_Pessoa.getFoneResidencial());
stmt.setString(8, p_Pessoa.getFoneComercial());
stmt.setString(9, p_Pessoa.getFoneCelular());
stmt.setString(10, p_Pessoa.getOBS());
stmt.executeUpdate();
sql = "SELECT @@IDENTITY";
stmt = this.conexao.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
rs.next();
JOptionPane.showMessageDialog(null, "Ultimo indice "+rs.getInt(1));
rs.close();
// ResultSet rs = stmt.getGeneratedKeys(); Da erro nem adianta
// rs.next();
// int LID = rs.getInt(1);
// rs.close();
this.m_Desconectar();
// Mensagem = "Registro inserido com sucesso";
// JOptionPane.showMessageDialog(null, Mensagem);
} catch (SQLException ex) {
ex.printStackTrace();
}