Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hackshinoda

Como corrigir, NullPointerException

Recommended Posts

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.getLista---ome(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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema está no seu método Rua.toArray. Possivelmente por estar tentando converter em String um objeto Long cujo valor é null. Coloque uma verificação antes de tentar converter em String. Ex.:

new String[] {(id == null) ? "" : id.toString(), rua, bairro}

Você pode testar também isso:

new String[] {String.valueOf(id), rua, bairro}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema está no seu método Rua.toArray. Possivelmente por estar tentando converter em String um objeto Long cujo valor é null. Coloque uma verificação antes de tentar converter em String. Ex.:

new String[] {(id == null) ? "" : id.toString(), rua, bairro}

Você pode testar também isso:

new String[] {String.valueOf(id), rua, bairro}

 

vlw, vou testar aqui. ate +

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.