Alguem sabe resolver esse erro?

4 respostas
A

Pessoal, o erro acontece quando eu instancio um objeto do tipo ClientesDAO na class CadastroClienteGraf

Meu erro:

IWAV0048I Java Bean ClienteJavaBean started with null constructor
IWAV0052E Invocation Target Exception creating ClienteJavaBean
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.eclipse.ve.internal.java.vce.launcher.remotevm.JavaBeansLauncher.main(JavaBeansLauncher.java:86)
Caused by: java.lang.StackOverflowError
	at sun.awt.Win32GraphicsConfig.getBounds(Native Method)
	at sun.awt.Win32GraphicsConfig.getBounds(Unknown Source)
	at java.awt.Window.init(Unknown Source)
	at java.awt.Window.<init>(Unknown Source)
	at java.awt.Frame.<init>(Unknown Source)
	at java.awt.Frame.<init>(Unknown Source)
	at javax.swing.JFrame.<init>(Unknown Source)
	at CadastroClienteGraf.<init>(CadastroClienteGraf.java:113)
	at ClienteJavaBean.<init>(ClienteJavaBean.java:39)
	at ClientesDAO.<init>(ClientesDAO.java:9)
	at CadastroClienteGraf.<init>(CadastroClienteGraf.java:110)
	at ClienteJavaBean.<init>(ClienteJavaBean.java:39)
	at ClientesDAO.<init>(ClientesDAO.java:9)
	at CadastroClienteGraf.<init>(CadastroClienteGraf.java:110)
	at ClienteJavaBean.<init>(ClienteJavaBean.java:39)
	at ClientesDAO.<init>(ClientesDAO.java:9)
	at CadastroClienteGraf.<init>(CadastroClienteGraf.java:110)
	at ClienteJavaBean.<init>(ClienteJavaBean.java:39)
	at ClientesDAO.<init>(ClientesDAO.java:9)
	(...)	
	at CadastroClienteGraf.<init>(CadastroClienteGraf.java:110)
	at ClienteJavaBean.<init>(ClienteJavaBean.java:39)
	at ClientesDAO.<init>(ClientesDAO.java:9)

Meu codigo:

public class ClientesDAO {
	ClienteJavaBean Cli_JB = new ClienteJavaBean();
	conexao conecta_cli = new conexao();
	
	public ClientesDAO(){
		conecta_cli.conecta();
	}

	//metodo mostrar(select) dado do banco de dados
	//preenchendo os campos jtextfield ou jcombobox buscando diretamente na linha do bando de dados
	//essa linha é determinada no botão que chama o metodo
	public void mostrar_DAO_Cli() {
		try {

			Cli_JB.setJB_JTextFieldCodigoCliente(String.valueOf(conecta_cli.resultset.getInt("codigoCliente")));
			Cli_JB.setJB_JTextFieldNome(conecta_cli.resultset.getString("nomeCliente"));
			Cli_JB.setJB_jCB_PessoaCliente(conecta_cli.resultset.getString("PessoaCliente"));
			Cli_JB.setJB_JTF_FantasiaCliente(conecta_cli.resultset.getString("fantasiaCli"));
			Cli_JB.setJB_JTextFieldCPF(conecta_cli.resultset.getString("cpfCliente"));
			Cli_JB.setJB_jTF_InscEstadual(conecta_cli.resultset.getString("InscEstadual"));
			Cli_JB.setJB_jTF_InscMunicipal(conecta_cli.resultset.getString("InscMunicipal"));
			Cli_JB.setJB_jTF_EndCliente(conecta_cli.resultset.getString("EndereçoCli"));
			Cli_JB.setJB_jTF_ComplementoCli(conecta_cli.resultset.getString("ComplementoCli"));
			Cli_JB.setJB_jTF_BairroCli(conecta_cli.resultset.getString("BairroCli"));
			Cli_JB.setJB_jTF_CidadeCli(conecta_cli.resultset.getString("CidadeCli"));
			Cli_JB.setJB_jTF_CEPcli(conecta_cli.resultset.getString("CEPCli"));
			Cli_JB.setJB_jTF_NomeContato1Cli(conecta_cli.resultset.getString("nomeCont1Cli"));
			Cli_JB.setJB_jTF_DepartCli(conecta_cli.resultset.getString("DepartCont1Cli"));
			Cli_JB.setJB_jTF_TelefoneCli(conecta_cli.resultset.getString("telefoneCont1Cli"));
			Cli_JB.setJB_jTF_Celular1Cli(conecta_cli.resultset.getString("Celular1Cont1Cli"));
			Cli_JB.setJB_jTF_Celular2Cli(conecta_cli.resultset.getString("Celular2Cont1Cli"));
			Cli_JB.setJB_jTF_FaxCli(conecta_cli.resultset.getString("FaxCont1Cli"));
			Cli_JB.setJB_jTF_EmailCli(conecta_cli.resultset.getString("emailCont1Cli"));
			Cli_JB.setJB_jTF_SiteCli(conecta_cli.resultset.getString("SiteCli"));
			Cli_JB.setJB_jTF_NomeContato2Cli(conecta_cli.resultset.getString("nomeCont2Cli"));
			Cli_JB.setJB_jTF_DepartamentoCli(conecta_cli.resultset.getString("DepartCont2Cli"));
			Cli_JB.setJB_jTF_Telefone2Cli(conecta_cli.resultset.getString("telefoneCont2Cli"));
			Cli_JB.setJB_jTF_CelCont2Cli(conecta_cli.resultset.getString("Celular1Cont2Cli"));
			Cli_JB.setJB_jTF_EmailCont2Cli(conecta_cli.resultset.getString("emailCont2Cli"));
			Cli_JB.setJB_jComboBoxUFcliente(conecta_cli.resultset.getString("ufCliente"));
			Cli_JB.setJB_jCB_TipoCliente(conecta_cli.resultset.getString("TipoCli"));
			Cli_JB.setJB_jCB_SexoCli(conecta_cli.resultset.getString("SexoCli"));
		} catch (SQLException erro) {
			JOptionPane.showMessageDialog(null, erro);
		}
	}

public void gravar_DAO_Cli(){
	try {
		String sqlinsert = "insert into cliente (nomeCliente, PessoaCliente, " +
		"fantasiaCli, cpfCliente, InscEstadual, InscMunicipal, TipoCli, SexoCli," +
		"EndereçoCli, ComplementoCli, BairroCli, CidadeCli, ufCliente, CEPCli, " +
		"nomeCont1Cli,DepartCont1Cli, telefoneCont1Cli, Celular1Cont1Cli, " +
		"Celular2Cont1Cli, FaxCont1Cli, emailCont1Cli, siteCli, nomeCont2Cli," +
		"DepartCont2Cli, telefoneCont2Cli, Celular1Cont2Cli, emailCont2Cli) " +
		"values ('"+Cli_JB.getJB_JTextFieldNome()+"','"+Cli_JB.getJB_jCB_PessoaCliente()+
		"','"+Cli_JB.getJB_JTF_FantasiaCliente()+"','"+Cli_JB.getJB_JTextFieldCPF()+"','"+
		Cli_JB.getJB_jTF_InscEstadual()+"','"+Cli_JB.getJB_jTF_InscMunicipal()+"','"+
		Cli_JB.getJB_jCB_TipoCliente()+"','"+Cli_JB.getJB_jCB_SexoCli()+"','"+
		Cli_JB.getJB_jTF_EndCliente()+"','"+Cli_JB.getJB_jTF_ComplementoCli()+"','"+
		Cli_JB.getJB_jTF_BairroCli()+"','"+Cli_JB.getJB_jTF_CidadeCli()+"','"+Cli_JB.getJB_jComboBoxUFcliente()+
		"','"+Cli_JB.getJB_jTF_CEPcli()+"','"+Cli_JB.getJB_jTF_NomeContato1Cli()+"','"+Cli_JB.getJB_jTF_DepartCli()+
		"','"+Cli_JB.getJB_jTF_TelefoneCli()+"','"+Cli_JB.getJB_jTF_Celular1Cli()+"','"+Cli_JB.getJB_jTF_Celular2Cli()+
		"','"+Cli_JB.getJB_jTF_FaxCli()+"','"+Cli_JB.getJB_jTF_EmailCli()+"','"+Cli_JB.getJB_jTF_SiteCli()+"','"+
		Cli_JB.getJB_jTF_NomeContato2Cli()+"','"+Cli_JB.getJB_jTF_DepartamentoCli()+"','"+Cli_JB.getJB_jTF_Telefone2Cli()+
		"','"+Cli_JB.getJB_jTF_CelCont2Cli()+"','"+Cli_JB.getJB_jTF_EmailCont2Cli()+"')";
		
		conecta_cli.statement.executeUpdate(sqlinsert);

	} catch (SQLException e) {
		e.printStackTrace();
	}
}

/*
//metodo excluir linha do banco de dados
//pega o valor de codigoCliente(id) da linha selecionada na table e armazena em linhaSelecionada
//variavel sql armazena o codigo do mysql e concatenando a linha selecionada depois de where
//sql é colocado no conecta_cli.statement.executeUpdate da Class conexão
public void excluirCliente() {
	try {
		int linhaSelecionada = jTableCliCadastrados.getSelectedRow();// pega a linha selecionada
		Object valor = jTableCliCadastrados.getModel().getValueAt(linhaSelecionada, 0);
		
		String sql = "delete FROM cliente WHERE codigoCliente =" + valor+ ";";

		conecta_cli.statement.executeUpdate(sql);
		JOptionPane.showMessageDialog(null, "excluiu");			
	} catch (SQLException erro3) {
		JOptionPane.showMessageDialog(null, erro3);
	}
	cadCliGrf.preencher_JTable();
}
*/

//metodo alterar banco de dados
//sql é colocado no conecta_cli.statement.executeUpdate da Class conexão
//preenchendo cada coluna do banco mysql com o seu campo jtextfield ou jcombobox
public void alterar_DAO_Cli(){
	try {
		String sql = "UPDATE cliente SET nomeCliente = '"+ Cli_JB.getJB_JTextFieldNome()
		+ "', PessoaCliente = '"+ Cli_JB.getJB_jCB_PessoaCliente()
		+ "', fantasiaCli = '"+ Cli_JB.getJB_JTF_FantasiaCliente()
		+ "', cpfCliente = '"+ Cli_JB.getJB_JTextFieldCPF()
		+ "', InscEstadual = '"+ Cli_JB.getJB_jTF_InscEstadual()
		+ "', InscMunicipal = '"+ Cli_JB.getJB_jTF_InscMunicipal()
		+ "', TipoCli = '"+ Cli_JB.getJB_jCB_TipoCliente()
		+ "', SexoCli = '"+ Cli_JB.getJB_jCB_SexoCli()
		+ "', EndereçoCli = '"+ Cli_JB.getJB_jTF_EndCliente()
		+ "', ComplementoCli = '"+ Cli_JB.getJB_jTF_ComplementoCli()
		+ "', BairroCli = '"+ Cli_JB.getJB_jTF_BairroCli()
		+ "', CidadeCli = '"+ Cli_JB.getJB_jTF_CidadeCli()
		+ "', ufCliente = '"+ Cli_JB.getJB_jComboBoxUFcliente()
		+ "', CEPCli = '"+ Cli_JB.getJB_jTF_CEPcli()
		+ "', nomeCont1Cli = '"+ Cli_JB.getJB_jTF_NomeContato1Cli()
		+ "', DepartCont1Cli = '"+ Cli_JB.getJB_jTF_DepartCli()
		+ "', telefoneCont1Cli = '"+ Cli_JB.getJB_jTF_TelefoneCli()
		+ "', Celular1Cont1Cli = '"+ Cli_JB.getJB_jTF_Celular1Cli()
		+ "', Celular2Cont1Cli = '"+ Cli_JB.getJB_jTF_Celular2Cli()
		+ "', FaxCont1Cli = '"+ Cli_JB.getJB_jTF_FaxCli()
		+ "', emailCont1Cli = '"+ Cli_JB.getJB_jTF_EmailCli()
		+ "', SiteCli = '"+ Cli_JB.getJB_jTF_SiteCli()
		+ "', nomeCont2Cli = '"+ Cli_JB.getJB_jTF_NomeContato2Cli()
		+ "', DepartCont2Cli = '"+ Cli_JB.getJB_jTF_DepartamentoCli()
		+ "', telefoneCont2Cli = '"+ Cli_JB.getJB_jTF_Telefone2Cli()
		+ "', Celular1Cont2Cli = '"+ Cli_JB.getJB_jTF_CelCont2Cli()
		+ "', emailCont2Cli = '"+ Cli_JB.getJB_jTF_EmailCont2Cli()
		+ "' where codigoCliente = "+ Cli_JB.getJB_JTextFieldCodigoCliente()+";";

		conecta_cli.statement.executeUpdate(sql);
		JOptionPane.showMessageDialog(null, "gravou");
		
	} catch (SQLException erro3) {
		JOptionPane.showMessageDialog(null, erro3);
	}
}
}
public class CadastroClienteGraf extends JFrame {
ClientesDAO CliDAO = new ClientesDAO();  // <<--- EEEEERRRRRRRROOO ESTÁ AKI QUANDO INSTANCIO CLIENTESDAO

4 Respostas

A

Ignorem os comentarios do codigo… pois eles foram feitos antes de algumas mudanças no codigo.

Outra observação… é só desabilitar a ultima linha q tudo funciona.

A

Ninguem consegue me ajudar?

viniciusfaleiro

Veja bem seu Stack.

at ClienteJavaBean.(ClienteJavaBean.java:39)
at ClientesDAO.(ClientesDAO.java:9)
at CadastroClienteGraf.(CadastroClienteGraf.java:110)
at ClienteJavaBean.(ClienteJavaBean.java:39)
at ClientesDAO.(ClientesDAO.java:9)
at CadastroClienteGraf.(CadastroClienteGraf.java:110)
at ClienteJavaBean.(ClienteJavaBean.java:39)
at ClientesDAO.(ClientesDAO.java:9)
at CadastroClienteGraf.(CadastroClienteGraf.java:110)

Vc caiu numa recursao… Seu Dao chama o Bean que chama o ClienteGraf que chama o Dao e ai vai…

A

Hum… intendi! Isso realmente está acontecendo… vlw

Criado 13 de maio de 2011
Ultima resposta 14 de mai. de 2011
Respostas 4
Participantes 2