Java.lang.NullPointerException + combobox SWT

2 respostas
R

Olá amigos ja estou a varios dias e naum consigo resolver este problema, até parece ser algo simples, no entanto, naum consigo resolver. Estou tentando pegar o valor selecionado de uma combo e iniciar uma variavel para poder colocar dentro de um metodo e depois chamar esse metodo , no entanto gera java.lang.NullPointerException, ja não sei mais o que fazer, revirei o google atras de exemplos, javadoc e etc… Coloquei o codigo e a stack que gera. Espero q possam me ajudar a parar de dar esse erro. :oops:

// metodo para criar arquivo xml dentro de um pacote ja existente
public void gerarArquivoXMLPage4() {
		try {
			File arquivo = new File(
					"C:/FDDK/runtime-EclipseApplication/Extrator/src/"
					+ FreeDecisionWizardPage2.getCliente()     + "/"
					+ FreeDecisionWizardPage2.getFabricante()  + "/"
					+ FreeDecisionWizardPage2.getProduto()     + "/"
					+ FreeDecisionWizardPage2.getAreanegocio() + "/"
					+ FreeDecisionWizardPage2.Extrator() + ".xml");
			if (!arquivo.exists())
				arquivo.createNewFile();
			writer = new PrintWriter(new FileWriter(arquivo));
			escreveClassepage4();// aqui eu chamo o metodo para escrever os dados do XML
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
// metodo para escrever os dados do xml
	public void escreveClassepage4() {

		String Banco = txtBanco.getText();// pegando o nome do banco na tela
	        Driver = comboDriver.getText();// aqui gera java.lang.NullPointerException 
		//setDriver(comboDriver.getText());
		String URL = comboURL.getText();
		//setURL(comboURL.getText());
		
		String Usuario = txtUser.getText();
		String Senha = txtSenha.getText();
		String Schema = txtSchema.getText();
		String Cache = txtCache.getText();
		String Read = comboRead.getText();
		//setRead(comboRead.getText());
		
		//escrevendo os dados do xml
		writer.write("<Connection name=" + '"' + Banco				+ '"'
				+ " jdbcDriver=" + '"' + Driver + '"' + "\n ");
		writer.write("jdbcUrl=" + '"' + URL + '"' + " jdbcUser=" + '"'
				+ Usuario + '"' + "\n");
		writer.write("jdbcPassword=" + '"' + Senha + '"' + " schemaName=" + '"'
				+ Schema + " " + '"' + " readOnly=" + '"' + Read + '"'
				+ " cacheSize=" + '"' + Cache + '"' + "/>\n\n");
		writer.write("<Parameters>\n");
		writer.write("<Item name=" + '"' + "data_ini" + '"'
				+ ">01/01/1901</Item>\n");
		writer.write("</Parameters>");
		writer.write("</Configuration>");
		writer.close();
	}

E aqui a Stack:

java.lang.NullPointerException
	at freedecision.wizard.FreeDecisionWizardPage4.escreveClassepage4(FreeDecisionWizardPage4.java:318)
	at freedecision.wizard.FreeDecisionWizardPage4.gerarArquivoXMLPage4(FreeDecisionWizardPage4.java:308)
	at freedecision.wizard.FreeDecisionWizard.performFinish(FreeDecisionWizard.java:46)
	at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:742)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	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)

2 Respostas

finotti

raphael, olhei rapidamente o código e não vi onde vc inicializou a variável writer no método escreveClassepage4()
acho que isso está gerando essa NullPointerException.
faça da mesma forma que no método gerarArquivoXmlPage4()

writer = new PrintWriter(new FileWriter(arquivo));

ou então passe esse objeto ‘writer’ como parâmetro para o método escreveClassepage4()

escreveClassepage4(PrintWriter writer)
R

Ola amigo, muito obrigado pela resposta, no entanto continua dando o mesmo erro, java.lang.NullPointerException, no mesmo lugar,“Driver = comboDriver.getText();”. Tentei usar das opções 2 citadas e nem uma deu certo e nem mudou o erro. É alguma coisa com essa combobox maldita. Estou escrevendo isso pq fiz um teste,onde, comentei as combobox’s deixando apenas os campos TXT’s, ai da certo, mas se colocar a combobox da erro!!! :?:

Criado 2 de dezembro de 2008
Ultima resposta 3 de dez. de 2008
Respostas 2
Participantes 2