tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
561
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Copia Copia ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    17
    Hallo zusammen,

    ich habe in einen meiner Renderer eine NullPointerException. Hier der Stacktrace:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    
    java.lang.NullPointerException
        at javax.swing.JTable.prepareRenderer(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
        at javax.swing.plaf.ComponentUI.update(Unknown Source)
        at javax.swing.JComponent.paintComponent(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintToOffscreen(Unknown Source)
        at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
        at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
        at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
        at javax.swing.RepaintManager.paint(Unknown Source)
        at javax.swing.JComponent.paintForceDoubleBuffered(Unknown Source)
        at javax.swing.JViewport.blitDoubleBuffered(Unknown Source)
        at javax.swing.JViewport.windowBlitPaint(Unknown Source)
        at javax.swing.JViewport.setViewPosition(Unknown Source)
        at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.hsbStateChanged(Unknown Source)
        at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(Unknown Source)
        at javax.swing.DefaultBoundedRangeModel.fireStateChanged(Unknown Source)
        at javax.swing.DefaultBoundedRangeModel.setRangeProperties(Unknown Source)
        at javax.swing.DefaultBoundedRangeModel.setValue(Unknown Source)
        at javax.swing.JScrollBar.setValue(Unknown Source)
        at javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.setValueFrom(Unknown Source)
        at javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.mouseDragged(Unknown Source)
        at java.awt.Component.processMouseMotionEvent(Unknown Source)
        at javax.swing.JComponent.processMouseMotionEvent(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.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)

    Wie krieg ich denn jetzt am klügsten raus, welche Zeile in meinem Code der Ursprung für den Fehler ist?
     

  2. #2
    RoCMe RoCMe ist offline Mitglied Gold
    Registriert seit
    Dec 2007
    Beiträge
    193
    Starte dein Programm im Debugger und laufe Stück für Stück weiter, bis es irgendwann knallt...

    Alternativ kannst du auch an verdächtigen Stellen System.out.println() Anweisungen einpflanzen, um zu sehen, ob bestimmte Objekte vielleicht null sind. Aber bequemer ist der Debugger!
     

  3. #3
    Copia Copia ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    17
    Zitat Zitat von RoCMe Beitrag anzeigen
    Starte dein Programm im Debugger und laufe Stück für Stück weiter, bis es irgendwann knallt...

    Alternativ kannst du auch an verdächtigen Stellen System.out.println() Anweisungen einpflanzen, um zu sehen, ob bestimmte Objekte vielleicht null sind. Aber bequemer ist der Debugger!
    Danke für den Tipp, aber das würde ja ewig dauern! Das Programm ist schon relativ umfangreich. Ich bin ja mit dem Debugger durchaus schon ein wenig vertraut, aber allein einen Breakpoint im Renderer zu setzen, scheint mir zu umständlich, da der ja für jede Zelle aufgerufen wird. Und der Fehler tritt nicht bei jeder Zelle auf...
    Jetzt hab ich versucht try-catch-Blöcke zu machen und im catch 'nen Breakpoint zu setzen, aber irgendwie funktioniert das auch nicht so recht...
     

  4. #4
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Naja ganz oben steht doch "JTable.prepareRenderer", das deutet doch darauf hin, dass dein Renderer fuer die JTable null ist? Waere auf jeden Fall nen Ansatzpunkt
     
    Waere super wenn ihr euren Code in dieser Form einfuegt:
    [JAVA]System.out.println("Test :)");[/JAVA]
    wird zu:
    Code java:
    1
    
    System.out.println("Test :)");
    Tabs sind uebrigens keine Feinde :)
    Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
    Danke :D

  5. #5
    RoCMe RoCMe ist offline Mitglied Gold
    Registriert seit
    Dec 2007
    Beiträge
    193
    Du kannst für jeden Breakpoint auch Bedingungen setzen, wann angehalten werden soll

    Weißt du denn, bei welcher Zelle das Problem auftritt? Was macht diese Zelle denn so besonders?
     

  6. #6
    Copia Copia ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    17
    Soo, ich hab jetzt erstmal korrekt die JDK Sourcen eingebunden und konnte somit auch vernünftig debuggen, da ich keine "Unknown Source" mehr habe. Hab dadruch gemerkt, dass meine columnClass null war und deswegen der Fehler auftrat.

    Zitat Zitat von RoCMe Beitrag anzeigen
    Du kannst für jeden Breakpoint auch Bedingungen setzen, wann angehalten werden soll

    Weißt du denn, bei welcher Zelle das Problem auftritt? Was macht diese Zelle denn so besonders?
    Nein, wusste ich bis eben noch nicht. Hab doch oben auch den Stack Trace gepostet. Daran war ja zu erkennen, dass das irgendwo außerhalb meiner eigenen Klassen auftrat. Aber durch das Einbinden der JDK-Sourcen konnte ich dann auch schnell rausfinden, in welcher Zeile die Exception auftrat
     

Ähnliche Themen

  1. NullPointerException
    Von Teufelslama im Forum Java
    Antworten: 2
    Letzter Beitrag: 18.06.08, 23:44
  2. Korrupte Dateien aufspüren
    Von wSam im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 23.10.07, 21:07
  3. Memory Leaks o.ä. aufspüren?
    Von Anime-Otaku im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 13.09.06, 14:24
  4. NullPointerException... wo? :(
    Von target im Forum Java
    Antworten: 2
    Letzter Beitrag: 30.05.05, 17:19
  5. [FYI]Memory Leaks aufspüren/verhindern
    Von Thomas Darimont im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 14.10.04, 23:17

Stichworte