Question

Je joue avec des choses que je ne comprends pas vraiment au moment d'un projet JAVA sur un robot d'explorer un territoire inconnu (une grille de positions valides et positions BLOQUE). Quoi qu'il en soit, j'ai essayé d'améliorer l'interface graphique de base nous a donné un exemple de la façon de procéder, il a été fait avec un champ de texte et divers caractères unicode pour représenter la carte et le robot. J'ai essayé de le faire en redéfinissant la méthode de dessin et de peinture rectangles de couleur à l'écran pour représenter la carte. Lorsque le programme démarre, je suis présenté à l'exception d'exécution ci-dessous, mais les charges de fenêtre vers le haut (même si pour une raison quelconque les JButton en haut sont invisibles jusqu'à ce que je roule ma souris sur eux) et des fonctions bien à partir de là.

J'ai loin par tâtonnements et de jouer avec des exemples que j'ai trouvé en ligne, mais je pense qu'il ya quelque chose de fondamental, je ne l'ai pas compris ici.

Merci pour les conseils que vous pouvez me donner ici.

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)
Était-ce utile?

La solution

Je vous suggère de commencer par lire le swing tutoriel . Il contient une section qui explique comment la peinture se fait. Pour une chose que vous devriez redéfinissant la méthode paintComponent (). De l'erreur ci-dessus, il semble que votre code est dans la méthode de peinture ().

Pour en savoir quelque chose que vous devriez commencer petit, lorsque vous avez des problèmes, vous pouvez poster un SSCCE montrant le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top