Problema com ARRAYLIST jtable

1 resposta Resolvido
G

Alguém sabe dizer o que significa o erro abaixo?

Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 7 >= 7

Ocorre quando quero listar dados mostrando os itens do banco em uma jtable.

este é o metodo:

public void preenchertabela(String sql){

//PREENCHIMENTO DA TABELA

ArrayList dados = new ArrayList();

String [] colunas = new String []{ID,Nome, RG, Nascimento, Rua, Telefone, Bairro};

conex.conexao();

conex.executasql(sql);

try{

conex.rs.first();

do{

dados.add(new Object[]{conex.rs.getInt(paci_codigo),conex.rs.getString(paci_nome),

conex.rs.getString(paci_rg), conex.rs.getString(paci_nasc), conex.rs.getString(paci_telefone),

conex.rs.getString(paci_rua), conex.rs.getString(bai_nome)});

}while(conex.rs.next());

}catch(SQLException ex){

JOptionPane.showMessageDialog(rootPane, Busque por outro paciente para preenchimento da tabela!);

}

modelotabela modelo = new modelotabela(dados,colunas);
jTablepacientes.setModel(modelo);
   jTablepacientes.getColumnModel().getColumn(0).setPreferredWidth(40);
   jTablepacientes.getColumnModel().getColumn(0).setResizable(false);
   jTablepacientes.getColumnModel().getColumn(1).setPreferredWidth(10);
   jTablepacientes.getColumnModel().getColumn(1).setResizable(false);
   jTablepacientes.getColumnModel().getColumn(2).setPreferredWidth(10);
   jTablepacientes.getColumnModel().getColumn(2).setResizable(false);
   jTablepacientes.getColumnModel().getColumn(3).setPreferredWidth(10);
   jTablepacientes.getColumnModel().getColumn(3).setResizable(false);
   jTablepacientes.getColumnModel().getColumn(4).setPreferredWidth(10);
   jTablepacientes.getColumnModel().getColumn(4).setResizable(false);
   jTablepacientes.getColumnModel().getColumn(5).setPreferredWidth(20);
   jTablepacientes.getColumnModel().getColumn(5).setResizable(false); 
   jTablepacientes.getColumnModel().getColumn(6).setPreferredWidth(20);
   jTablepacientes.getColumnModel().getColumn(6).setResizable(false);
   jTablepacientes.getColumnModel().getColumn(7).setPreferredWidth(20);
   jTablepacientes.getColumnModel().getColumn(7).setResizable(false);
   jTablepacientes.getTableHeader().setReorderingAllowed(false);
   jTablepacientes.setAutoResizeMode(jTablepacientes.AUTO_RESIZE_OFF);
   jTablepacientes.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
   
   conex.desconecta();

}

ele é chamado atraves de:

preenchertabela("select paci_codigo, paci_nome, paci_rg, paci_nasc, paci_telefone, paci_rua, bai_nome from pacientes inner join bairro on paci_baicodigo = bai_cod order by paci_nome");

1 Resposta

pmlm
Solucao aceita

Significa que tens um array com tamanho 7 (posições 0-6) e estás a tentar aceder à posição 7 que não existe.

Criado 23 de novembro de 2017
Ultima resposta 23 de nov. de 2017
Respostas 1
Participantes 2