Pessoal, tenho 2 classes (Livro e Pessoa) e na no tela de Emprestimo, coloquei todos os livros e pessoas em dois ComboBox.
A classe cadastro só tem os atributos livro do tipo Livro e pessoa do tipo Pessoa. No cadastro funciona, mas na pesquisa da erro
private void pesquisar()
{
ResultSet rs = EmprestimoDAO.selecionarEmprestimo(txtCod.getText());
try{
while(rs.next()){
cmbLivros.setSelectedItem(livros.get(Integer.parseInt(rs.getString("ID_LIVRO"))).getTitulo());
cmbPessoas.setSelectedItem(pessoas.get(Integer.parseInt(rs.getString("ID_PESSOA"))).getNome());
}
}catch(Exception e){
JOptionPane.showMessageDialog(rootPane, e);
}
}
E o erro foi este:
java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
Creio que o problema não ocorra neste trecho que você colocou.
A mensagem de erro java.lang.IndexOutOfBoundsException: Index: 6, Size: 6 se refere a tentativa de ler uma eventual posição 6 em um array em que a última posição tem índice 5.
Algo como
int vet[] = {1,2,3,4,5,6};//vetor com seis posições, com índices de 0 a 5
for(int i = 1; i<= vet,length; i++){
int x = vet[i];//aqui ocorrerá o mesmo erro quando i atingir o valor 6
}
1 curtida
O que o erro quis dizer eu entendi, mas eu não consigo acha-lo. Pq eu não fiz nenhuma forma de Array desta maneira…
A questão é que o stack trace da ide mostra mais que apenas esta linha, o ideal seria colocar toda a saída do erro, para tentarmos ajudar.
1 curtida
O que tem aqui View.frmEmprestimo.pesquisar(frmEmprestimo.java:335) em frmEmprestimo, linha 335?
private void pesquisar()
{
ResultSet rs = EmprestimoDAO.selecionarEmprestimo(txtCod.getText());
try{
while(rs.next()){
cmbLivros
.setSelectedItem(livros.get(Integer.parseInt(rs.getString("ID_LIVRO")))
.getTitulo());
cmbPessoas
.setSelectedItem(pessoas.get(Integer.parseInt(rs.getString("ID_PESSOA")))
.getNome());
}
}catch(Exception e){
e.printStackTrace();
}
}
1 curtida