Wo kommen die Nullpointer her?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Moin.
Also ich hab ein kleines Problem.
Beim Laden meiner Panels gibt es ab und an eine null pointer exception.

andere panels referenzieren auf wieder andere, deshalb is da glaub ich irgendwo der wurm drin.

z.B. hier tritt eine null pointer exception auf
if (getPanelx() != null)
...


der ruft dazu diese methode auf
public Panelx getPanelx(){
if (os_panelx == null){
os_panelx = new Panelx();
os_panelx setBounds(0,navPanelOffset,1280,900);
scrollpanel .add(panelx);
}
return panelx;
}

eigentlich dürfte doch so gar keine null pointer exception geworfen werden, oder?
 

AlArenal

Top Contributor
1. Fehlermeldung posten! (Copy&Paste)
2. Zu den Zeilennummern innerhalb der Fehlermeldung den passenden Code posten!
3. Siehst du hier einen Punkt? "os_panelx setBounds(0,navPanelOffset,1280,900);"
 
G

Guest

Gast
AlArenal hat gesagt.:
1. Fehlermeldung posten! (Copy&Paste)
2. Zu den Zeilennummern innerhalb der Fehlermeldung den passenden Code posten!
3. Siehst du hier einen Punkt? "os_panelx setBounds(0,navPanelOffset,1280,900);"

1. Fehlermeldung ist ne ganze normale Nullpointerexception, die auftritt sobald getPanelx augerufen wird.
Der Fehler tritt nur einmal auf. Danach ist das Panel initialisiert und dann kommt der fehler nicht mehr.

2. Der Code ist zb.

CMain.DakosGUI.getPanelx().setIconblablub(2);


3. jo richtig. das is aber nicht der fehler, das liegt am posten.
 

AlArenal

Top Contributor
zu 1.:
Und eben diese "ganz normale" NullPointerEception beinhaltet normalerweise einen Stacktrace, mit diversen Zusatzangaben, die dem geneigten Leser etwas mehr über den Ort des Auftretens verraten..

zu 2.:
Schweres pfui!

zu 3.:
GOTO 1
 
G

Guest

Gast
AlArenal hat gesagt.:
zu 1.:
Und eben diese "ganz normale" NullPointerEception beinhaltet normalerweise einen Stacktrace, mit diversen Zusatzangaben, die dem geneigten Leser etwas mehr über den Ort des Auftretens verraten..
jo, dass is mir schon klar...

hier mal etwas gekürzut der stacktrace. ich denke genau die stelle is interessant.

...
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)


zu 2.:
Schweres pfui!
warum?


goto is auch pfui :meld:
 

AlArenal

Top Contributor
zu 1.:
Nun hast du wohl gerade den interessanten Teil vom Stacktrace gekürzt, bzw.. das ganze "Unknown Source" erweckt den Anschein, dass du deine Sourcen ohne Debug-Infos kompilierst. Das macht natürlich nicht wirklich Sinn, wenn man debuggen will..

zu 2.:
Weil du mit einer sehr seltsamen Suppe aus evtl. falscher Groß- Kleinschreibung und/oder public Variablen und/oder statischem Krims, usw. usf. arbeitest.
Da wunder es wenig, wenn man mal ne NPE hie rund da bekommt, denn wie willst du bei driektem Zugriff auf Instanzen anderer Klassen sicherstellen, dass diese nicht null sind?

zu 3.:
Kleiner Rückfall in BASIC ;)
 
S

SlaterB

Gast
zu 2.:
CMain.DakosGUI.getPanelx().setIconblablub(2);
ist in diesem Fall zusätzlich schlecht, weil man nun nicht genau weiß, wo die NPE auftritt, wenn der Compiler nur die Zeile nennt,

CMain könnte null sein (falls es nicht eine Klasse ist),
DakosGUI könnte null sein usw.

wenn du das dagegen auftrennst:
gui = CMain.DakosGUI;
panel = gui.getPanelx().
panel.setIconblablub(2);

und dir dann der Compiler eine der drei Zeilen nennt,
läßt sich der Fehler viel besser eingrenzen ;)

deswegen würde man wahrscheinlich die Kurzschreibweise nicht generell aufgeben,
aber hier im Forum zu schreiben
'NPE in dieser Zeile: CMain.DakosGUI.getPanelx().setIconblablub(2);'
ist in jedem Fall recht dumm,

also: trenne bei solchen Fehlerfällen bitte die Befehle auf,
wo genau ist die NPE?
->
was ist das für ein Objekt? darf es null sein? wer sorgt dafür dass es nicht null ist?
passiert dies auch? mit System.out.println an entsprechender Stelle prüfen
 

WieselAc

Top Contributor
Kennst du eigentlich so etwas wie einen Debugger?

Da setzt du dir einen Breakpoint, guckst die Variablen an und schon weiß du was, wo, meistens auch wieso NULL ist.
 

Azrahel

Bekanntes Mitglied
Marco13 hat gesagt.:
*mal einwerf:* Du hast genau den UNinteressanten Teil des StackTraces gepostet.

Natürlich, alles andre würd es uns ja zu einfach machen, immerhin sollen wir ja unsere Göttlichkeit beweisen :bae: :cool:

[edit]wobei von gott einen Beweiss seiner göttlichkeit zu verlangen schon fast gotteslästerung ist :meld: :lol: [/edit]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
M Win an den DataVector des DefaultTableModels kommen AWT, Swing, JavaFX & SWT 5
L Zwei Anwendungen kommen sich in die Quere! AWT, Swing, JavaFX & SWT 4
F An eindeutigen Index eines Tabs in einer JTabbed Pane kommen AWT, Swing, JavaFX & SWT 3
G An die Quelle einen events kommen AWT, Swing, JavaFX & SWT 2
M Problem, an ImageIcon in JPanels zu kommen. AWT, Swing, JavaFX & SWT 2
4 Neue Fensterinhalte kommen nicht im selben Fenster AWT, Swing, JavaFX & SWT 5
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
S NullPointer Exception beim Laden von Bildern AWT, Swing, JavaFX & SWT 11
G JavaFX ImageView (Nullpointer) AWT, Swing, JavaFX & SWT 1
I JComboBox gibt bei ausgewählten ITem NullPointer an... AWT, Swing, JavaFX & SWT 3
X Auf Fensterklasse zugreifen (Nullpointer Exception) AWT, Swing, JavaFX & SWT 2
B JavaFX Sporadisch auftretende Nullpointer AbstractTimer AWT, Swing, JavaFX & SWT 4
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
V Swing Nullpointer Exception bei JFormattedTextField AWT, Swing, JavaFX & SWT 4
S Swing Setzen von TableModel liefert NullPointer AWT, Swing, JavaFX & SWT 6
Grejak NullPointer AWT, Swing, JavaFX & SWT 8
I NullPointer bei getSelectedItem() in itemStateChanged() AWT, Swing, JavaFX & SWT 4
M JComboBox setSelectedItem() und getSelectedItem() NullPointer AWT, Swing, JavaFX & SWT 2
M Swing JTextArea größe anpassen & setBackground liefer Nullpointer AWT, Swing, JavaFX & SWT 4
1 NullPointer und JList AWT, Swing, JavaFX & SWT 4
N einfacher ActionListener und NullPointer AWT, Swing, JavaFX & SWT 2
V Nullpointer in der GUI? EDT? AWT, Swing, JavaFX & SWT 2
Daniel_L JTable, (Auto-)RowSorter und NullPointer-Exception AWT, Swing, JavaFX & SWT 6
N JList - Nullpointer Exception AWT, Swing, JavaFX & SWT 4
H JTree Nullpointer Problem AWT, Swing, JavaFX & SWT 4
dzim NullPointer bei refresh() einer JFace TableViewer AWT, Swing, JavaFX & SWT 2
spacegaier NullPointer beim Auslesen eines JTextFields AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben