Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con GUI, AWT-EventQueue-0 NullPointerException

Estas en el tema de Problema con GUI, AWT-EventQueue-0 NullPointerException en el foro de Java en Foros del Web. Buenas, tengo un problema con un ejercicio de clase en el qual recibo un valor nulo pero no se encontrarlo, adjunto el codigo y el ...
  #1 (permalink)  
Antiguo 09/02/2015, 01:44
 
Fecha de Ingreso: enero-2015
Mensajes: 2
Antigüedad: 9 años, 3 meses
Puntos: 0
Problema con GUI, AWT-EventQueue-0 NullPointerException

Buenas, tengo un problema con un ejercicio de clase en el qual recibo un valor nulo pero no se encontrarlo, adjunto el codigo y el error a ver si alguien me puede ayudar

El error
Código:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at LectorXML.endElement(LectorXML.java:95)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at App$ClickGenerate.actionPerformed(App.java:209)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$400(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
La pagina LectorXML.java:

Código:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

/**
 * Classe que sobreescriu alguns dels mètodes de DefaultHandler per tal d'analitzar
 * arxius XML en format RSS.
 * 
 * @author Jordi Gual i Purtí
 * 
 */
public class LectorXML extends DefaultHandler {
	private ArrayList<Lectura> Lecturas;
	private Lectura LecturaActual;
	private boolean parsejantNoticia = false;
	private String valor;

	/**
	 * Mètode que s'executa quan s'inicia l'anàlisi del contingut XML.
	 */
	public void startDocument() throws SAXException {

		Lecturas = new ArrayList<Lectura>();
	}

	/**
	 * Mètode que s'executa cada cop que el parser detecta que s'obre un tag XML.
	 */
	public void startElement(
			String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {

		if (qName.equals("record")) {
			Lecturas.add(LecturaActual);
			parsejantNoticia = true;
		}
		else {
			valor = "";
		}
	}

	/**
	 * Mètode que s'executa quan estam llegin caràcters del contigut d'algun tag XML.
	 */
	public void characters(char[] ch, int start, int length) throws SAXException {

		if (parsejantNoticia) {
			valor = valor + new String(ch, start, length);
		}
	}	

	/**
	 * Mètode que s'executa quan el parser detecta que es tanca un tag XML.
	 */
	public void endElement(String namespaceURI, String localName, String qName) throws SAXException {

		if (qName.equals("record")) {

			Lecturas.add(LecturaActual);
			parsejantNoticia = false;
		}
		else {
			if (parsejantNoticia) {

				if (qName.equals("dateTime")) {
					SimpleDateFormat sf = new SimpleDateFormat("ddMMyyyyhhmmss");
					String str = valor;
					Date date = null;
					try {
						date = sf.parse(str);
					} catch (ParseException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}

					LecturaActual.setDatahora(date);
				}
				else if (qName.equals("value")) {
					LecturaActual.setValue(Double.parseDouble(valor));
				}
			}
		}
	}



	/**
	 * Mètode que s'executa quan finalitza l'anàlisi del contingut XML.
	 */
	public void endDocument() throws SAXException {
		System.out.println("Lectures Llegides: " + Lecturas.size());
	}

	/**
	 * Mètode getter que ens permetrà tenir accés a l'ArrayList de notícies des de fora
	 * de la classe per poder consultar-les quan s'hagi acabat l'anàlisi del canal RSS.
	 * 
	 * @return ArrayList de notícies amb els objectes "Noticia" que contenen les dades
	 *         de les notícies que hem llegit de la font XML-RSS.
	 */
	public ArrayList<Lectura> getNoticies() {
		return Lecturas;
	}
}
Si alguien encuentra el error le agradeceria que me lo comunicase
  #2 (permalink)  
Antiguo 09/02/2015, 02:48
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Problema con GUI, AWT-EventQueue-0 NullPointerException

Cita:
at LectorXML.endElement(LectorXML.java:95)
Mira cuál es la línea 95, aunque yo apostaría porque qname es null.

Es hora de que empieces a usar el debug, te resolverá muchas dudas.

http://www.vogella.com/tutorials/Ecl...g/article.html
http://www.cs.columbia.edu/~cmurphy/...debugging.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: arraylist, clase, gui, string, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:16.