Erro clássico -> java.lang.NullPointerException<-

Ola pessoal ,tah ai mais um erro de programador inesperiente, não pelo erro, mas sim por que naum sei mais como resolver.
Tenho 3 classes, uma que contem o metodo que quero chamar, a outra que contem os campos txt’s que preciso pega-los, e a outra que precisa gerar o que eu quero. To tentando faze assim, mas deu esse errinho clássico. A forma que eu fiz acreditava que estaria certo, que estava no caminho certo…

public void geraClasseBanco(){ 
-- classe que contem o metodo que preciso pegar..
		try{
			String cliente = pag.getClientes(); -- aqui eu tento pegar os campos txt's. 'pag'(contem a instancia da classe que contem os metodos )
			String fabricante = pag.getFabricantes();
			String produto = pag.getProdutos();
			
-- metodo onde eu passo o que foi digitado na tela ( Que por sinal deveria estar dentro da variavel acima mas naum esta)
			File arquivo = new File("C:/FDDK/runtime-EclipseApplication/Extrator/src/" + cliente  + '/' + 
					fabricante + '/' + produto +  '/'+ "shared/dbs" );		
			arquivo.mkdirs();
			
			File arqui = new File("C:/FDDK/runtime-EclipseApplication/Extrator/src/" + cliente  + '/' + 
					'/' + 	fabricante + '/' + produto +  '/' + "shared/dbs"  + banco + ".java"); 	
			if (!arqui.exists())
				arqui.createNewFile();	
			writer = new PrintWriter(new FileWriter(arqui));
			escreverMetodosBancos(null);	
		}catch (Exception e) {
			e.printStackTrace();
			
			if(cliente == null){  
			       System.out.println("cliente nulo");  
			    }  
		    
		    if(fabricante == null){  
			       System.out.println("fabricante nulo");  
			    }  
		    if(produto == null){  
			       System.out.println("produto nulo");  
			    }  
		}
	}

– aqui tentei criar um metodo para pegar os campos txt’s .

public String getClientes(){ return txtCliente.getText(); } public String getFabricantes (){ return txtFabricante.getText(); } public String getProdutos (){ return txtProduto.getText(); }

-- e aqui to tentando junta tudo... gera.setCliente(pagina.getCliente()); gera.setFabricante(pagina.getFabricante()); gera.setProduto(pagina.getProduto()); gera.setBanco(txtBanco.getText());-- esse campo pertence a essa frame gera.geraClasseBanco();

raphael, posta a stack trace do erro.

java.lang.NullPointerException at freedecision.wizard.GerarPacotes.geraClasseBanco(GerarPacotes.java:236) at freedecision.wizard.FreeDecisionWizardPage3$1.handleEvent(FreeDecisionWizardPage3.java:238) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at freedecision.wizard.RunWizardAction.run(RunWizardAction.java:51) at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251) at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1236) at org.eclipse.equinox.launcher.Main.main(Main.java:1212) cliente nulo fabricante nulo produto nulo

coloca esse cara

GerarPacotes.java

na linha 236

senão nem Magaiver

a stack trace indica onde o erro ocorreu

freedecision.wizard.GerarPacotes.geraClasseBanco(GerarPacotes.java:236)

ou seja, na linha 236 da classe GerarPacotes.

A exceção NullPointerException indica que vc tentou realizar alguma operação em um objeto nulo.
Por exemplo, se nessa linha abaixo o objeto ‘pag’ estiver nulo, vai gerar uma NullPointerException.

String cliente = pag.getClientes();

Vá nessa classe e linha: GerarPacotes.java:236
A referencia que você estiver acessando nesse local está nula. Não está referenciando nenhum objeto!

Realmente… ele naum consegue pegar o que esta na outra classe, ou seja os que foi escrito nos campos txt’s , i agora de que forma resolvo isto? se existe alguma forma de resolver isto?

crie metodos gets para o texto dos seus textfiled dai instancie um objeto e chame o metodo de qual textfield vc quer.

Desculpa minha falta de conhecimento, mas criar os metodos get e set tudo bein… naum ficou muito claro o resto…

Eu tentei assim, pelo menos foi assim que eu entendi… continua com o mesmo erro

--Métodos get e set dos txt's public Text getCli() { return txtCliente; } public Text getFab() { return txtFabricante; } public Text getPro() { return txtProduto; }

--- instanciei
Text cliente = pag.getCli();
			Text fabricante = pag.getFab();
			Text produto = pag.getPro();

– chamei os metodos

gera.setCliente(pagina.getCliente()); gera.setFabricante(pagina.getFabricante()); gera.setProduto(pagina.getProduto());