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();
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
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.
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?
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();