Domanda

sto giocando con cose che non capisco in questo momento per un progetto Java su un robot di esplorare un territorio sconosciuto (una griglia di posizioni validi e le posizioni bloccato). Ad ogni modo, ho cercato di migliorare l'interfaccia grafica di base ci hanno dato come un esempio di come procedere, era stato fatto con un campo di testo e vari caratteri unicode per rappresentare la mappa e il robot. Ho cercato di farlo sovrascrivendo il metodo paint e disegnando rettangoli colorati sullo schermo per rappresentare la mappa. All'avvio del programma che sto presentato con l'eccezione di runtime di sotto, ma i carichi finestra verso l'alto (anche se per qualche motivo i JButtons in alto sono tutte invisibili fino Alzo il mouse su di loro) e le funzioni bene da allora in poi.

ho fino a questo punto per tentativi ed errori e giocare con esempi che ho trovato in rete, ma immagino che ci sia qualcosa di fondamentale che non ho capito qui.

Grazie per qualsiasi consiglio potete darmi qui.

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)
È stato utile?

Soluzione

Vi suggerisco di iniziare con la lettura della Altalena esercitazione . Esso contiene una sezione che spiega come la pittura è fatto. Per prima cosa si dovrebbe essere l'override del metodo paintComponent (). Da l'errore precedente appare il codice è nel metodo paint ().

Per sapere qualcosa che si dovrebbe iniziare in piccolo, poi quando si hanno problemi di poter inviare un SSCCE che mostra il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top