Erro "AWT-EventQueue-0"

1 resposta
G

Pessoal,

Tá dando erro o erro abaixo em um programa que esotu tentando rodar:

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at main.alimentaTable(main.java:622)

at main.adicionaConfig(main.java:572)

at main.alimentaCombo(main.java:520)

at main.(main.java:41)

at main$7.run(main.java:552)

at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Abaixo o método alimentaTable(), o primeiro da lista de erro.

private void alimentaTable(){

try{

javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)table.getModel();

for (int i = dtm.getRowCount(); i > 0;  i–){

dtm.removeRow(i-1);

}

con = new ConexaoBD().getConn();

p = this.con.prepareStatement(sqlConfigResp);

p.setInt(1, RetornaIdPesquisa(cboxPesquisa.getSelectedItem().toString()));

rs = p.executeQuery();

while (rs.next()){

dtm.addRow(new Object[]{rs.getString(IdConfig), rs.getString(Pergunta), rs.getString(QtdeTab),

rs.getString(TrocarDe), rs.getString(TrocarPor), rs.getString(Ordem)});

}

} catch (SQLException ex) {

ex.printStackTrace();

}finally{

try {

 stmt.close();

p.close();

rs.close();

} catch (SQLException ex) {

ex.printStackTrace();

}

}

}

Quando clico em cima do erro ele aponta para a linha que está em negrito “stmt.close();”.

Entretanto, já inicializei da forma abaixo:

public class main extends javax.swing.JFrame {

public Statement stmt = null;

private ResultSet rs = null;

private Connection con = null;

private PreparedStatement p = null;

private static FileHandler fh = null;

private Logger logger = null;

private boolean alimentandoCombo = false;

Não sei o que deve ser.

Alguém pode me ajudar por favor!

Obrigada!

1 Resposta

H

Você na deveria fechar este método, como mostrado abaixo

p = this.con.prepareStatement(sqlConfigResp);
p.close();

Pois neste outro você nem está usando

Statement stmt = null;
Criado 24 de novembro de 2008
Ultima resposta 24 de nov. de 2008
Respostas 1
Participantes 2