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