Boa noite,
Estou tentando listar dados em uma JTable, mas ao executar o código o mesmo nem abre e aparece o seguinte erro abaixo.
Estou IDE NetBeans e banco Sql Server
Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt(Vector.java:474)
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:294)
at visao.telaCadastro.PreencherTabela(telaCadastro.java:550)
at visao.telaCadastro.(telaCadastro.java:33)
at visao.telaCadastro$8.run(telaCadastro.java:601)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
abaixo meu método.
public void PreencherTabela(String Sql){
ArrayList dados = new ArrayList();
String [] colunas = new String []{"Codigo","Descricao","Tipo","Quantidade","Prateleira","Coluna","Medida","Situacao"};
conex.conexao();
conex.executaSql(Sql);
try{
conex.rs.first();
do{
dados.add(new Object[]{conex.rs.getInt("codMaterial"),conex.rs.getString("descMaterial"),conex.rs.getString("tipoMaterial"),conex.rs.getString("quantidadeMaterial"),conex.rs.getString("PrateleiraMaterial"),conex.rs.getString("ColunaPrateleiraMaterial"),conex.rs.getString("medidaMaterial"),conex.rs.getString("situacaoMaterial")});
}while(conex.rs.next());
}catch(SQLException ex){
JOptionPane.showMessageDialog(rootPane, "Erro ao preencher a tabela !\n Erro: " + ex);
}
ModeloTabela modelo = new ModeloTabela(dados, colunas);
jTableCadMaterial.getColumnModel().getColumn(0).setPreferredWidth(23);
jTableCadMaterial.getColumnModel().getColumn(0).setResizable(false);
jTableCadMaterial.getColumnModel().getColumn(1).setPreferredWidth(180);
jTableCadMaterial.getColumnModel().getColumn(1).setResizable(false);
jTableCadMaterial.getColumnModel().getColumn(2).setPreferredWidth(80);
jTableCadMaterial.getColumnModel().getColumn(2).setResizable(false);
jTableCadMaterial.getColumnModel().getColumn(3).setPreferredWidth(80);
jTableCadMaterial.getColumnModel().getColumn(3).setResizable(false);
jTableCadMaterial.getColumnModel().getColumn(4).setPreferredWidth(80);
jTableCadMaterial.getColumnModel().getColumn(4).setResizable(false);
jTableCadMaterial.getColumnModel().getColumn(5).setPreferredWidth(80);
jTableCadMaterial.getColumnModel().getColumn(5).setResizable(false);
jTableCadMaterial.getColumnModel().getColumn(6).setPreferredWidth(80);
jTableCadMaterial.getColumnModel().getColumn(6).setResizable(false);
jTableCadMaterial.getColumnModel().getColumn(7).setPreferredWidth(80);
jTableCadMaterial.getColumnModel().getColumn(7).setResizable(false);
jTableCadMaterial.getTableHeader().setReorderingAllowed(false);
jTableCadMaterial.setAutoResizeMode(jTableCadMaterial.AUTO_RESIZE_OFF); // A tabela não pode ser reposicionada
jTableCadMaterial.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
conex.desconectar();
}
aqui eu executo o select
public telaCadastro() {
initComponents();
PreencherTabela(“select * from tblCadastroMaterial order by descMaterial”);
}