Falha ao conectar com Banco de Dados (cadastro de Rua)

4 respostas
H

Pessoal, td bem?

Estou com uma aplicação q conecta com BD (MySQL) só q o cadastro de Rua nao esta funcionado, dá nullpointerException na referencia à bairro. Me ajudem a consertar?
Estou mandando as classes Rua e CadastroRua.

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
import javax.swing.border.TitledBorder;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;

public class CadastroRua {
        private Rua rua;
        private Connection conexao;
        private RuaDAO daoR;
        private BairroDAO daoB;

        private JDialog frame;
        private JPanel panelBotoes;
        private JPanel panelRua;
        private JPanel panelPesquisaEdita;
        private JPanel panelPesquisaTabela;
        private JPanel panelPesquisa;

        private JButton btNovo;
        private JButton btEditar;
        private JButton btExcluir;
        private JButton btSalvar;
        private JButton btCancelar;
        // private JButton btContatoPesquisar;
        private JButton btBairroNovo;

        private JLabel lbId;
        private JLabel lbNome;

        private JLabel lbBairro;
        private JLabel lbPesquisar;
        private JLabel lbPesquisarNome;
        private JLabel lbPesquisarBairro;

        private JTextField tfId;
        private JTextField tfNome;

        private JComboBox cbBairro;

        private JTextField tfPesquisarNome;
        private JComboBox cbPesquisarBairro;

        private DefaultTableModel modelo;
        private JTable tabela;
        private JScrollPane scrollTable;

        public CadastroRua(Connection conexao) {
                this.conexao = conexao;
                try {
                        daoR = new RuaDAO(conexao);
                        daoB = new BairroDAO(conexao);
                } catch (SQLException e) {
                        e.printStackTrace();
                }
                initGUI();
        }

        // Para o método initGUI não ficar muito grande, eu separei ele em outros
        // métodos
        private void initGUI() {
                panelBotoes = new JPanel();
                montarPanelBotoes();

                panelRua = new JPanel();
                montarPanelEdicao();

                panelPesquisa = new JPanel();
                panelPesquisa.setLayout(new BoxLayout(panelPesquisa,
                                BoxLayout.PAGE_AXIS));
                montarPanelGrid();

                // Muda a visibilidade dos componentes da tela
                setModoNormal();

                frame = new JDialog();
                frame.setTitle("Cadastro de Rua");
                // frame.setModal(modal);
                frame.getContentPane().add(BorderLayout.NORTH, panelBotoes);
                frame.getContentPane().add(BorderLayout.CENTER, panelRua);
                frame.getContentPane().add(BorderLayout.SOUTH, panelPesquisa);

                frame.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                frame.pack();
                frame.setResizable(false);
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
        }

        private void montarPanelBotoes() {
                btNovo = new JButton("Novo");
                // btNovo.setIcon(new ImageIcon("imagens/novo.png"));
                btNovo.addActionListener(new RuaNovoListener());

                btEditar = new JButton("Editar");
                // btEditar.setIcon(new ImageIcon("imagens/editar.png"));
                btEditar.addActionListener(new RuaEditarListener());

                btExcluir = new JButton("Excluir");
                // btExcluir.setIcon(new ImageIcon("imagens/excluir.png"));
                btExcluir.addActionListener(new RuaExcluirListener());

                btSalvar = new JButton("Salvar");
                // btSalvar.setIcon(new ImageIcon("imagens/salvar.png"));
                btSalvar.addActionListener(new RuaSalvarListener());
                btSalvar.setForeground(new java.awt.Color(0, 153, 0));
                btCancelar = new JButton("Cancelar");
                btCancelar.setForeground(new java.awt.Color(255, 0, 0));
                // btCancelar.setIcon(new ImageIcon("imagens/cancelar.png"));
                btCancelar.addActionListener(new RuaCancelarListener());

                // btContatoPesquisar = new JButton("Pesquisar Contato");
                // botaoPesquisarCliente.setIcon(new ImageIcon(
                // "imagens/PesquisarContato.jpg"));
                // btContatoPesquisar.addActionListener(new ContatoPesquisarListener());

                // FlowLayout: alinhamento cetral, distância horizontal e vertical
                panelBotoes.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 8));
                // panelBotoes.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
                panelBotoes.add(btNovo);
                panelBotoes.add(btEditar);
                panelBotoes.add(btExcluir);
                panelBotoes.add(btSalvar);
                panelBotoes.add(btCancelar);
                // panelBotoes.add(btContatoPesquisa);
        }

        private void montarPanelEdicao() {

                GridBagLayout panelBairroLayout = new GridBagLayout();
                panelBairroLayout.rowWeights = new double[] { 0.1, 0.1, 0.1, 0.1, 0.1,
                                0.1, 0.1, 0.1, 0.1, 0.1 };
                panelBairroLayout.rowHeights = new int[] { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 };
                panelBairroLayout.columnWeights = new double[] { 0.1, 0.1, 0.1, 0.1,
                                0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
                panelBairroLayout.columnWidths = new int[] { 7, 7, 7, 7, 7, 7, 7, 7, 7,
                                7 };

                panelRua.setLayout(panelBairroLayout);
                TitledBorder borda = BorderFactory.createTitledBorder("");
                panelRua.setBorder(borda);

                GridBagConstraints cons = new GridBagConstraints();
                cons.fill = GridBagConstraints.NONE;
                cons.insets = new Insets(2, 2, 2, 2);
                cons.anchor = GridBagConstraints.WEST;
                cons.gridheight = 1;
                cons.weighty = 0;
                cons.ipadx = 0;
                cons.ipady = 0;

                lbId = new JLabel("CÓD");
                setPosicao(cons, 0, 0, 1, 0, GridBagConstraints.NONE);
                panelRua.add(lbId, cons);
                tfId = new JTextField(8);
                tfId.setEditable(false); // id não é editável
                setPosicao(cons, 1, 0, 1, 1, GridBagConstraints.NONE);
                panelRua.add(tfId, cons);

                lbNome = new JLabel("Nome");
                setPosicao(cons, 2, 0, 5, 1, GridBagConstraints.HORIZONTAL);
                panelRua.add(lbNome, cons);

                tfNome = new JTextField(25);
                setPosicao(cons, 3, 0, 5, 1, GridBagConstraints.HORIZONTAL);
                panelRua.add(tfNome, cons);

                lbBairro = new JLabel("Bairro");
                setPosicao(cons, 6, 0, 5, 1, GridBagConstraints.HORIZONTAL);
                panelRua.add(lbBairro, cons);

                try {
                        cbBairro = new JComboBox(daoB.getLista().toArray());
                } catch (SQLException e) {
                        e.printStackTrace();
                }
                setPosicao(cons, 7, 0, 5, 1, GridBagConstraints.HORIZONTAL);
                panelRua.add(cbBairro, cons);
                btBairroNovo = new JButton("+");
                btBairroNovo.addActionListener(new BairroNovoListener());
                setPosicao(cons, 7, 5, 1, 0, GridBagConstraints.NONE);
                panelRua.add(btBairroNovo, cons);
        }

        // método serve apenas para posicionar o componente
        // (e diminuir as linhas de código)
        private void setPosicao(GridBagConstraints cons, int gridy, int gridx,
                        int gridwidth, double weightx, int fill) {
                cons.gridy = gridy;
                cons.gridx = gridx;
                cons.gridwidth = gridwidth;
                cons.weightx = weightx;
                cons.fill = fill;
        }

        private void montarPanelGrid() {
                TitledBorder borda = BorderFactory.createTitledBorder("");
                panelPesquisa.setBorder(borda);

                String colunas[] = new String[] { "CÓDIGO", "RUA", "BAIRRO", "" };

                // Segundo parâmentro é o número de linhas iniciais
                modelo = new DefaultTableModel(colunas, 0);
                atualizaGrid();

                tabela = new JTable(modelo);
                tabela.getSelectionModel().addListSelectionListener(
                                new TabelaListener());

                // largura da 1a. coluna (0)
                tabela.getColumnModel().getColumn(0).setPreferredWidth(100);
                tabela.getColumnModel().getColumn(0).setResizable(false);
                // largura da 2a. coluna (1)
                tabela.getColumnModel().getColumn(1).setPreferredWidth(200);
                tabela.getColumnModel().getColumn(1).setResizable(false);
                tabela.getColumnModel().getColumn(2).setPreferredWidth(150);
                tabela.getColumnModel().getColumn(2).setResizable(false);
                tabela.getColumnModel().getColumn(3).setPreferredWidth(40);
                tabela.getColumnModel().getColumn(3).setResizable(false);

                // trocar as colunas de posição
                tabela.getTableHeader().setReorderingAllowed(false);
                // Redimensionamento automático
                tabela.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

                scrollTable = new JScrollPane(tabela);
                // barra de rolagem vertical sempre visível
                scrollTable
                                .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                // barra de rolagem horizontal sempre oculta
                scrollTable
                                .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
                scrollTable.setViewportView(tabela);
                scrollTable.setPreferredSize(new Dimension(505, 200));

                lbPesquisar = new JLabel("Pesquisar");
                lbPesquisarNome = new JLabel("Nome");
                tfPesquisarNome = new JTextField(15);
                tfPesquisarNome.getDocument().addDocumentListener(
                                new DocumentListener() {

                                        @Override
                                        public void removeUpdate(DocumentEvent e) {
                                                atualizaGrid(tfPesquisarNome.getText());
                                        }

                                        @Override
                                        public void insertUpdate(DocumentEvent e) {
                                                atualizaGrid(tfPesquisarNome.getText());
                                        }

                                        @Override
                                        public void changedUpdate(DocumentEvent e) {
                                                atualizaGrid(tfPesquisarNome.getText());
                                        }
                                });
                lbPesquisarBairro = new JLabel("Bairro");

                Bairro bai = new Bairro();
                bai.setNmBairro("Todos");
                bai.setId(0);
                cbPesquisarBairro = new JComboBox();
                cbPesquisarBairro.addItem(bai);

                try {
                        List<Bairro> bairros = daoB.getLista();
                        for (Bairro b : bairros)
                                // enhanced for
                                cbPesquisarBairro.addItem(B);
                } catch (SQLException e) {
                        e.printStackTrace();
                }
                cbPesquisarBairro.addActionListener(new ComboPesquisarBairro());

                panelPesquisaEdita = new JPanel(new FlowLayout(FlowLayout.LEFT));
                // panelPesquisaEdita.add(lbPesquisar);
                panelPesquisaEdita.add(lbPesquisarNome);
                panelPesquisaEdita.add(tfPesquisarNome);
                panelPesquisaEdita.add(lbPesquisarBairro);
                panelPesquisaEdita.add(cbPesquisarBairro);

                panelPesquisa.add(panelPesquisaEdita);
                panelPesquisa.add(scrollTable);
        }

        // Visibilidade dos componentes
        private void setModoNormal() {
                btNovo.setEnabled(true);
                btEditar.setEnabled(false);
                btExcluir.setEnabled(false);
                btCancelar.setEnabled(false);
                btSalvar.setEnabled(false);

                tfId.setText("");
                tfNome.setEditable(false);
                tfNome.setText("");

                cbBairro.setEditable(false);
                cbBairro.setEnabled(false);
                btBairroNovo.setEnabled(false);

                tabela.setEnabled(true);
        }

        private void setModoNovo() {
                btNovo.setEnabled(false);
                btEditar.setEnabled(false);
                btExcluir.setEnabled(false);// habilitando ou nao, botoes
                btCancelar.setEnabled(true);
                btSalvar.setEnabled(true);
                // btCidadeNovo.setEnabled(false);

                long id = 0;
                try {
                        id = daoR.getUltimoID();
                } catch (SQLException e) {
                        e.printStackTrace();
                }
                tfId.setText(Long.toString(id));
                tfNome.setText("");
                tfNome.setEditable(true);

                cbBairro.setEditable(false);
                cbBairro.setEnabled(true);
                btBairroNovo.setEnabled(true);

                tabela.setEnabled(false);
                tabela.clearSelection();
                atualizaGrid();
        }

        private void setModoExcluirOuEditar() {
                btNovo.setEnabled(true);
                btEditar.setEnabled(true);
                btExcluir.setEnabled(true);
                btCancelar.setEnabled(false);
                btSalvar.setEnabled(false);
                // btCidadeNovo.setEnabled(false);

                int linha = tabela.getSelectedRow();
                // System.out.println("\nlinha: " + linha);
                int id = Integer.parseInt((String) modelo.getValueAt(linha, 0));
                // System.out.println("id: " + id);

                Rua rua = null;
                try {
                        rua = daoR.busca(id);
                } catch (SQLException e) {
                        e.printStackTrace();
                }

                tfId.setText(Long.toString(rua.getId()));
                tfNome.setEditable(false);
                tfNome.setText(rua.getNmRua());

                // tfLogradouro.setText(bairro.getLogradouro());

                // tfEmail.setText(bairro.getEmail());

                // tfNumero.setText(Integer.toString(bairro.getNumero()));

                // tfComp.setText(bairro.getComplemento());

                // tfCEP.setText(bairro.getCep());

                // tfBairro.setText(bairro.getBairro());
                
                cbBairro.setEditable(false);
                cbBairro.setEnabled(false);
                try {
                        List<Bairro> bairrs = daoB.getLista();
                        cbBairro.removeAllItems();

                        for (int i = 0; i < bairrs.size(); i++) {
                                cbBairro.addItem(bairrs.get(i));
                        }

                } catch (SQLException e) {
                        e.printStackTrace();
                }
                cbBairro.setSelectedItem(rua.getBairro());

                btBairroNovo.setEnabled(false);
                tabela.setEnabled(true);
        }

        private void setModoEditar() {
                btNovo.setEnabled(false);
                btEditar.setEnabled(false);
                btExcluir.setEnabled(false);
                btCancelar.setEnabled(true);
                btSalvar.setEnabled(true);
                // btCidadeNovo.setEnabled(false);

                // int linha = table.getSelectedRow();
                // System.out.println("linha: " + linha);
                // int id = Integer.parseInt((String) modelo.getValueAt(linha, 0));
                // System.out.println("id: " + id);
                //
                // Contato contato = null;
                // try {
                // contato = dao.busca(id);
                // } catch (SQLException e) {
                // e.printStackTrace();
                // }
                //
                // tfId.setText(Long.toString(contato.getId()));
                tfNome.setEditable(true);
                // tfNome.setText(contato.getNome());

                // tfLogradouro.setText(contato.getLogradouro());

                // tfEmail.setText(contato.getEmail());

                // tfNumero.setText(Integer.toString(contato.getNumero()));

                // tfComp.setText(contato.getComplemento());

                // tfCEP.setText(contato.getCep());

                // tfBairro.setText(contato.getBairro());
//              cbBairro.setEditable(false);
//              cbBairro.setEnabled(true);
//               try {
//               List<Bairro> cids = daoB.getLista();
//               cbBairro.removeAllItems();
//               for (Bairro cid : cids) {
//                       cbBairro.addItem(cid);
//               }
//               } catch (SQLException e) {
//               e.printStackTrace();
//               }
//               cbBairro.setSelectedItem(rua.getBairro());
                btBairroNovo.setEnabled(true);
                tabela.setEnabled(false);
        }

        private void atualizaGrid() {
                List<Rua> ruas = null;
                try {
                        ruas = daoR.getLista();
                } catch (SQLException e) {
                        e.printStackTrace();
                }

                modelo.setNumRows(0);
                if (ruas != null) {
                        Rua rua;
                        for (int i = 0; i < ruas.size(); i++) {
                                rua = ruas.get(i);
                                // System.out.println(contato.getNome());
                                modelo.addRow(rua.toArray());
                        }
                }
        }

        private void atualizaGrid(Bairro bairro) {
                List<Rua> ruas = null;
                try {
                        if (bairro.getId() == 0)
                                ruas = daoR.getLista();
                        else
                                ruas = daoR.getListaPorBairro(bairro);
                } catch (SQLException e) {
                        e.printStackTrace();
                }

                modelo.setNumRows(0);
                if (ruas != null) {
                        Rua rua;
                        for (int i = 0; i < ruas.size(); i++) {
                                rua = ruas.get(i);
                                // System.out.println(contato.getNome());
                                modelo.addRow(rua.toArray());
                        }
                }
        }

        private void atualizaGrid(String nome) {
                List<Rua> ruas = null;
                try {
                        ruas = daoR.getListaPorNome(nome);
                } catch (SQLException e) {
                        e.printStackTrace();
                }

                modelo.setNumRows(0);
                if (ruas != null) {
                        Rua rua;
                        for (int i = 0; i < ruas.size(); i++) {
                                rua = ruas.get(i);
                                // System.out.println(contato.getNome());
                                modelo.addRow(rua.toArray());
                        }
                }
        }

        // private void atualizaComboPesquisarCidade() {
        // List<String> cidades = null;
        // try {
        // cidade = dao.getLista();
        // } catch (SQLException e) {
        // e.printStackTrace();
        // }
        //
        // }

        private class RuaNovoListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {
                        setModoNovo();

                        try {
                                tfId.setText(Long.toString(daoR.getUltimoID() + 1));
                        } catch (SQLException e1) {
                                e1.printStackTrace();
                        }

                }
        }

        private class RuaEditarListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {
                        setModoEditar();
                }
        }

        private class RuaExcluirListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {

                        if (JOptionPane.showOptionDialog(null, "Excluir Rua?", "",
                                        JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,
                                        null, null, null) == 0) {

                                long id = Long.parseLong(tfId.getText());

                                Rua rua;
                                try {
                                        rua = daoR.busca(id);
                                        daoR.remove(rua);
                                } catch (SQLException e1) {
                                        // TODO Auto-generated catch block
                                        e1.printStackTrace();
                                }
                                atualizaGrid();
                                setModoNormal();
                        }

                }
        }

        private class RuaCancelarListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {
                        setModoNormal();
                }
        }

        private class RuaSalvarListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {

                        if (tfNome.getText().equals("")

                        || cbBairro.getItemCount() == 0) {
                                JOptionPane.showMessageDialog(frame,
                                                "Todos os campos devem ser preenchidos!", "Mensagem!", 0);
                        } else {
                                try {
                                        long l = 0;

                                        Bairro bairro = (Bairro) cbBairro.getSelectedItem();
                                        long id = Long.parseLong(tfId.getText());

                                        rua = new Rua(id, tfNome.getText(), bairro);
                                        try {
                                                // verifica se está editando ou cadastrando novo
                                                if (daoR.busca(rua.getId()) != null)
                                                        daoR.altera(rua);
                                                else
                                                        daoR.adiciona(rua);
                                                JOptionPane.showMessageDialog(frame,
                                                                "Concluído!", "Mensagem", 1);
                                        } catch (SQLException e1) {
                                                e1.printStackTrace();
                                        }

                                        // modelo.addRow(contato.toArray());
                                        atualizaGrid();
                                        setModoNormal();
                                } catch (NumberFormatException event) {
                                        JOptionPane.showMessageDialog(frame,
                                                        "Campo preenchido com valor inválido!", "Msg!", 0);
                                }
                        }

                }
        }

        private class RuaPesquisarListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {
                        // new JanelaContatoPesquisar(frame);
                }
        }

        private class BairroNovoListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {
                        CadastroBairro cb = new CadastroBairro(conexao);
                        Bairro bai = cb.getBairro();

                        if (bai != null) {
                                // Insere a cidade no ComboBox
                                cbBairro.addItem(bai);
                                // Seleciona o ultimo bairro inserida
                                cbBairro.setSelectedItem(bai);

                                cbPesquisarBairro.addItem(bai);
                        }
                        // setModoNovo();
                }
        }

        private class TabelaListener implements ListSelectionListener {
                @Override
                public void valueChanged(ListSelectionEvent e) {
                        // verifica se tem alguma linha selecionada
                        if (tabela.getSelectedRow() >= 0)
                                setModoExcluirOuEditar();
                }
        }

        private class ComboPesquisarBairro implements ActionListener {

                @Override
                public void actionPerformed(ActionEvent e) {
                        Bairro bairro = (Bairro) cbPesquisarBairro.getSelectedItem();

                        atualizaGrid(bairro);
                }
        }

        private class FecharListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {
                        frame.dispose();
                }
        }

}



public class Rua {
        
                private long id;
                private String nmRua;
                private Bairro bairro;
                private Rua rua;

                public Rua() {
                }

                public Rua(long id, String nome, Bairro bairro) {
                        this.id = id;
                        this.bairro = bairro;
                        this.nmRua = nome;
                }

                public long getId() {
                        return id;
                }

                public void setId(long id) {
                        this.id = id;
                }

                public String getNmRua() {
                        return nmRua;
                }

                public Bairro getBairro() {
                        return bairro;
                }

                public void setBairro(Bairro bairro) {
                        this.bairro = bairro;
                }

                public String[] toArray() {
                        return new String[] { Long.toString(id), nmRua,bairro.getNmBairro(),
                                         "" };
                }

                public Rua getRua() {
                        return rua;
                }

                public void setRua(Rua rua) {
                        this.rua = rua;
                }

                public void setNmRua(String nm) {
                        this.nmRua = nm;
                }


}
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at Rua.toArray(Rua.java:39)
	at CadastroRua.atualizaGrid(CadastroRua.java:477)
	at CadastroRua.montarPanelGrid(CadastroRua.java:229)
	at CadastroRua.initGUI(CadastroRua.java:96)
	at CadastroRua.<init>(CadastroRua.java:81)
	at JanelaInicial$3.actionPerformed(JanelaInicial.java:111)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:337)
	at javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:778)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1639)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
	at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:670)
	at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:678)
	at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:678)
	at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:649)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:254)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2928)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2920)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
	at java.awt.Component.processEvent(Component.java:6065)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Component.dispatchEventImpl(Component.java:4651)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Component.dispatchEvent(Component.java:4481)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
	at java.awt.Component.dispatchEventImpl(Component.java:4523)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4481)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:602)
	at java.awt.EventQueue$1.run(EventQueue.java:600)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:616)
	at java.awt.EventQueue$2.run(EventQueue.java:614)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
	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)

Abraços

4 Respostas

Lucas_Abbatepaolo

Amigo…

o erro é claro

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException  
     at Rua.toArray(Rua.java:39)

ocorre aqui

return new String[] { Long.toString(id), nmRua,bairro.getNmBairro(),  "" };

provavelmente seu objeto bairro é nulo.

flw…

H

Lucas Abbatepaolo , vlw, mas como faço isso?

Lucas_Abbatepaolo

voce pega o bairro e manda atualizar o grid…

private class ComboPesquisarBairro implements ActionListener {  
   
                 @Override  
                 public void actionPerformed(ActionEvent e) {  
                         Bairro bairro = (Bairro) cbPesquisarBairro.getSelectedItem();  
   
                         atualizaGrid(bairro);  
                 }  
         }

debug seu codigo e verifique se neste momento o seu objeto bairro não esta vindo do cbPesquisarBairro como nulo…

H

vlw, estou verificando

Criado 16 de novembro de 2011
Ultima resposta 16 de nov. de 2011
Respostas 4
Participantes 2