Exception ao chamar método na inicialização[RESOLVIDO]

5 respostas
Jrmanzini

Olá pessoal, queria carregar minha JTable no inicio da aplicação, quando chamo o método da alguns erros…

public tela() { initComponents(); getContentPane().setBackground(Color.white); setLocation(300, 40); setResizable(false); setTitle("Nep - Controle Acervo de Livros"); mostra_data = new Data();//inicializa classe data mostra_data.le_data(); data.setText(mostra_data.dia_semana + " , " + mostra_data.dia + " de " + mostra_data.mes + " de " + mostra_data.ano); timer1.start(); DefaultTableModel modelo = (DefaultTableModel) tabelaLivros.getModel();//cria um table com modelo básico tabelaLivros.getColumnModel().getColumn(0).setPreferredWidth(5);//setando as configurações do JTable, tamanho tabelaLivros.getColumnModel().getColumn(1).setPreferredWidth(30); modelo.setNumRows(0); l.preencherTabelaLivros( modelo);//PARA AQUI }
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at emprestimos_nep.tela.(tela.java:49)
at emprestimos_nep.tela$4.run(tela.java:461)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Quando ele é chamado fora da inicialização não da erro nenhum,…
whathell?
Valeu

5 Respostas

O

É um erro simples de nullpoint… algum desse objetos utilizados não foi devidamente inicializado, não tem como dizer qual é pq o debug indica linha 49… se a classe não for muito grande, posta ela ou quebra ate a linha indicada…

Jrmanzini

esse é o método na classe:

public void preencherTabelaLivros(DefaultTableModel modelo)  {


        try {
             guarda_livros = new conexao();
             guarda_livros.conecta();
             guarda_livros.executeSQL("Select *from livros");

            while (guarda_livros.resultset.next()) {
                   modelo.addRow(new Object[]{guarda_livros.resultset.getString("codLivro"), guarda_livros.resultset.getString("nomeLivro")}); //cada coluna é um vetor
            }
        } catch (SQLException ex) {
            Logger.getLogger(tela.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            guarda_livros.resultset.first();
        } catch (SQLException ex) {
            Logger.getLogger(tela.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

estranho problema de inicialização…quando é chamado em outros locais da tela funciona…
A linha 49 é essa:

l.preencherTabelaLivros(modelo);

Valeu

O

O melhor a fazer é debuggar o código…

pmlm

A variavel l não foi incializada.

Jrmanzini

heheheh verdade pessoal, esqueci de instanciar o objeto l;

l = new livros(tfNomeLivro.getText());

agora ta ok
valeu mesmo

Criado 19 de maio de 2009
Ultima resposta 19 de mai. de 2009
Respostas 5
Participantes 3