Pregunta

Estoy jugando con cosas que no entiendo muy bien por el momento para un proyecto Java en un robot a explorar un territorio desconocido (una cuadrícula de posiciones válidas y bloqueó posiciones). De todos modos, he tratado de mejorar la interfaz gráfica de usuario básico que dieron como un ejemplo de la forma de proceder, se había hecho con un campo de texto y varios caracteres Unicode para representar el mapa y el robot. Traté de hacerlo reemplazando el método de pintura y dibujo rectángulos de color a la pantalla para representar el mapa. Cuando se inicia el programa me presentan con la excepción de tiempo de ejecución, pero por debajo de las cargas ventana hacia arriba (aunque por alguna razón los JButtons en la parte superior son invisibles hasta ruedo el ratón sobre ellos) y funciona bien desde entonces.

He llegado hasta aquí por ensayo y error y jugar con los ejemplos que he encontrado en línea, pero supongo que hay algo fundamental que no he captado aquí.

Gracias por cualquier consejo que me puede dar aquí.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Controller.paint(Controller.java:156)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknow
n Source)
    at java.awt.event.InvocationEvent.dispatch(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)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Controller.paint(Controller.java:156)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknow
n Source)
    at java.awt.event.InvocationEvent.dispatch(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)
¿Fue útil?

Solución

Le sugiero que comience por leer el oscilación tutorial . Contiene una sección que explica cómo se realiza la pintura. Por un lado, debe estar reemplazando el método paintComponent (). Desde el error anterior aparece el código está en el método paint ().

Para aprender algo que debe empezar poco a poco, a continuación, cuando se tienen problemas de enviar un SSCCE que muestra el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top