NullPointerException - HILFE!!

Status
Nicht offen für weitere Antworten.

Floh

Mitglied
In meinem kleinen Rechenprogramm kommt in der Konsole eine java.lang.NullPointerException. Deshalb kann der Button nicht ausgeführt werden.


SQL:
private JButton getBtKorrigieren() {
		if (btKorrigieren == null) {
			btKorrigieren = new JButton();
			btKorrigieren.setBounds(new java.awt.Rectangle(180,300,121,46));
			btKorrigieren.setText("Korrigieren");
			btKorrigieren.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					// TODO Auto-generated Event stub actionPerformed()
					
					

						rechnung1.ergebnisPlus= Integer.parseInt(tfergebnisPlus.getText());
						rechnung1.ergebnisMinus= Integer.parseInt(tfergebnisMinus.getText());
						rechnung1.ergebnisMal= Integer.parseInt(tfergebnisMal.getText());
						rechnung1.ergebnisGeteilt= Integer.parseInt(tfergebnisGeteilt.getText());
						rechnung1.rest= Integer.parseInt(tfRest.getText());
					
					    
					rechnung1.korrekturBerechnen();
		
					}
				});
			}
		
		return btKorrigieren;
		}



und in einer anderen Klasse ist die Methode angelegt:

SQL:
public void korrekturBerechnen(){
			
				if (ergebnisPlus ==z1+z2){
					fenster1.smileyPlus.setText(":)");
					}  else {fenster1.smileyPlus.setText(":( "+(z1+z2));	
					}
}

Wisst ihr woran es liegen könnte??
 
S

SlaterB

Gast
was hat das mit dem Umstand, ob rechnung1 null ist oder nicht, zu tun?
rechnung1 ist eine Variable, die ein Objekt der Klasse Rechnung enthalten kann, aber genausogut auch nicht, dann enthält sie null/ nix
 

Floh

Mitglied
public static Berechnung rechnung1 = new Berechnung();

^ das habe ich eingegeben, ist es dann immer noch null?
 
S

SlaterB

Gast
dann wohl nicht,
im Zweifel auch leicht zu prüfen:

zu Beginn des ActionListeners
System.out.println("rechnung1 ist: "+rechnung1);

-----

wenn nicht rechnung1, dann vielleicht tfergebnisPlus

neue These also:
tfergebnisPlus ist null


kannst du auch wieder prüfen, die Exception sollte eine genaue Zeilennummer liefern,
schaue dir alle Objekte an, die in dieser Zeile benutzt werden
 

Floh

Mitglied
Mein Programm liest das eingegebene Ergebniss aus, wandelt es dann in einen Integer um und schaut dann ob es mit dem richtigen Ergebnis übereinstimmt. Deshalb kann ergebnisPlus nicht null sein. Und kurz vorher sage ich noch " smileyPlus.setText("");", deshalb ist smileyPlus eigentlich auch nicht null :(
Könnte es vielleicht noch was anderes sein?
 
S

SlaterB

Gast
> Und kurz vorher sage ich noch " smileyPlus.setText("");",

das klingt, als wüßtest du, wo der Fehler auftritt, dann kannst du doch wie von mir vorgeschlagen alle Objekte prüfen?

ansonsten gibts nur eine Methode:
System.out.println("zeile 20");
IF (ergebnisPlus ==z1+z2){
System.out.println("zeile 21");
fenster1.smileyPlus.setText(": )");
System.out.println("zeile 22");
} else {
System.out.println("zeile 23");
fenster1.smileyPlus.setText(": ( "+(z1+z2));
System.out.println("zeile 24");
}
System.out.println("zeile 25");


usw. im ganzen Programm,
zur weniger aufwendigen Eingrenzung reicht es zunächst, nur zu Beginn + Ende aller Methoden eine Ausgabe zu schreiben
 
V

Vayu

Gast
hast du schonmal was von einem debugger gehört?
und in welcher Zeile fliegt der NullPointer?
 

Floh

Mitglied
nein, von debugger hab ich noch nichts gehört.

ich hab das jetzt mal getestet, und das programm läuft ohne probleme, bis die methode korrekturBerechnen() aufgerufen wird. das heißt der Fehler kommt erst hier auf:

SQL:
public void korrekturBerechnen(){
			
			
			
				if (ergebnisPlus ==z1+z2){
					fenster1.smileyPlus.setText(":)");
					}  else {fenster1.smileyPlus.setText(":( "+(z1+z2));	
					}
				
				if (ergebnisMinus ==z3-z4){
					fenster1.smileyMinus.setText(":)");
					} else {fenster1.smileyMinus.setText(":( "+(z3-z4));
					}
				
				if (ergebnisMal ==z5*z6){
					fenster1.smileyMal.setText(":)");
					} else {fenster1.smileyMal.setText(":( "+(z5*z6));
					}
				
				if (ergebnisGeteilt == z7/z8 &
					rest == z7%z8){
					fenster1.smileyGeteilt.setText(":)");
					} else {fenster1.smileyGeteilt.setText(":( "+(z7/z8)+", "+(z7%z8));
					}
							
			
		}

aber ich weiß einfach nicht was falsch ist :( weil ich hatte es erst alles in der Hauptfensterklasse und da hat noch alles geklappt. und seit ich noch eine Fachklasse gemacht hab, kommt dieser Fehler. Das ist doch komisch??
 
S

SlaterB

Gast
komisch ist, wieso du die klaren und kinderleichten Möglichkeiten zur Fehlerfindung nicht nutzt,
oder bei Nichtverständnis nicht genauer hinterfragst
 
V

Vayu

Gast
poste doch bitte einfach mal die fehlermeldung, den ganzen stacktrace bitte
 

Floh

Mitglied
wenn ich nicht weiß was ein debugger ist, woher sollte ich dann wissen dass es anscheinend zur fehlerfindung hilfreich ist?? ^^

hier ist die komplette fehlermeldung:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
actionPerformed()
at fachklassen.Berechnung.korrekturBerechnen(Berechnung.java:87)
at fensterklasse.Hauptfenster$2.actionPerformed(Hauptfenster.java:225)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(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)
 
S

SlaterB

Gast
ersetze Zeile 87 durch
System.out.println("fenster1 ist "+fenster1);
System.out.println("fenster1.smileyPlus ist "+fenster1.smileyPlus);
fenster1.smileyPlus.setText(": )");

sind derart einfache Befehle so abwegig?
 

Floh

Mitglied
ja wenn ich des einsetzt, dann überspringt er den fehler und die fehlermeldung zeigt wieder den gleichen fehler an nur ne zeile weiter ...
in dieser zeile : fenster1.smileyPlus.setText(":( "+(z1+z2));

aber die ausgabe im label smileyPlus erfolgt nicht.
 
S

SlaterB

Gast
genau hinschauen, die System.out.printlns können auch nach oder mitten in der Fehlermeldung kommen,
benutze System.err statt System.out, dann ist die Reihenfolge vielleicht besser;
System.err.println("fenster1 ist "+fenster1);
System.err.println("fenster1.smileyPlus ist "+fenster1.smileyPlus);

sichtbarer wirds auch mit
System.err.println("aaaaaaaaaaaaaaaaaaaa fenster1 ist "+fenster1+" aaaaaaaaaaaaaaaaaaaaaaaaaa);

und dann gibts noch die Möglichkeit, die Exception selber zu verschönern
Java:
try {
   System.err.println("fenster1 ist "+fenster1);
   System.err.println("fenster1.smileyPlus ist "+fenster1.smileyPlus);
   fenster1.smileyPlus.setText(": )");
} catch(NullPointerException e) {
   System.out.println("NPE, fenster1 ist: "+fenster1);
   if (fenster1 != null) {
       System.out.println("NPE, .smileyPlus ist "+fenster1.smileyPlus);
   }
   System.exit(0); // lieber nicht weitermachen
}

---------

in jedem Fall wird wohl eine der beiden Variablen null sein,
nun gilt es weiter zu forschen, wer setzt diese Variablen, warum sollte man sich sicher sein, dass sie != null sind?
die entsprechenden Codestellen auch mit System.out.println verstehen und/ oder hier posten,
am besten komplett lauffähiges Programm
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
Jose05 Nullpointerexception bei toArray() AWT, Swing, JavaFX & SWT 9
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Nullpointerexception wegen TableView AWT, Swing, JavaFX & SWT 2
ZH1896ZH JavaFX kann NullPointerException nicht auflösen... :( AWT, Swing, JavaFX & SWT 3
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
R Swing Java9 NullPointerException bei JComboBox AWT, Swing, JavaFX & SWT 13
L java.lang.NullPointerException - Fehlermeldung AWT, Swing, JavaFX & SWT 2
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
D NullPointerException observableList AWT, Swing, JavaFX & SWT 4
J NullPointerException bei getText() AWT, Swing, JavaFX & SWT 3
S JavaFX NullPointerException bei Versuch ImageView zu ändern AWT, Swing, JavaFX & SWT 1
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
G Swing NullPointerException und JXImageView AWT, Swing, JavaFX & SWT 4
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
K JavaFX Pfad öffen NullPointerException AWT, Swing, JavaFX & SWT 4
H SWT NullPointerException bei Zugriff auf Variablen des Hauptfensters AWT, Swing, JavaFX & SWT 6
L Event Handling windowAdapter - NullPointerException beim Schließen AWT, Swing, JavaFX & SWT 5
J JTable verursacht NullPointerException.Ratlos. AWT, Swing, JavaFX & SWT 5
C JButton NullPointerException AWT, Swing, JavaFX & SWT 2
Q getGraphics() - NullPointerException AWT, Swing, JavaFX & SWT 8
C NullPointerException im MVC Muster AWT, Swing, JavaFX & SWT 9
V Nullpointerexception (etwas mit thread und jframe) AWT, Swing, JavaFX & SWT 3
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
B Swing NullPointerException bei actionPerformed() AWT, Swing, JavaFX & SWT 2
E java.lang.NullPointerException AWT, Swing, JavaFX & SWT 14
R NullPointerException AWT, Swing, JavaFX & SWT 16
xehpuk Swing NullPointerException: Random-Instanz anfangs nicht initialisiert AWT, Swing, JavaFX & SWT 4
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
C SWT NullPointerException AWT, Swing, JavaFX & SWT 12
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
B NullPointerException bei JFrame AWT, Swing, JavaFX & SWT 2
D JPanel / NullPointerException AWT, Swing, JavaFX & SWT 4
G LookAndFeel Dynamisches Einlesen von LookAndFeels - NullPointerException AWT, Swing, JavaFX & SWT 4
E Login wird durch NullPointerException abgebrochen AWT, Swing, JavaFX & SWT 10
K NullPointerException ohne CodeLink AWT, Swing, JavaFX & SWT 6
L NullPointerException JFreeChart AWT, Swing, JavaFX & SWT 10
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
H Swing NullPointerException in JTable bei vielen Einträgen AWT, Swing, JavaFX & SWT 2
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
X JList Probleme mit NullPointerException AWT, Swing, JavaFX & SWT 3
S NullPointerException bei Aufruf von updateUI() beim JFrame AWT, Swing, JavaFX & SWT 12
Z NullPointerException bei SplashScreen AWT, Swing, JavaFX & SWT 5
C NullPointerException bei Doppelpufferung AWT, Swing, JavaFX & SWT 3
F CardLayout.show() -> NullPointerException AWT, Swing, JavaFX & SWT 4
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
K NullPointerException bei JTextField AWT, Swing, JavaFX & SWT 8
L Problem mit "NullPointerException" bei grafischer AWT, Swing, JavaFX & SWT 3
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
loadbrain JTextFields & java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
D javax.swing.Timer bringt NullPointerException AWT, Swing, JavaFX & SWT 4
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
A NullPointerException in einer JList AWT, Swing, JavaFX & SWT 7
F Fehler: java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
A NullPointerException - warum? AWT, Swing, JavaFX & SWT 5
G NullPointerException bei Aufruf von JTabbedPane.getSelectedI AWT, Swing, JavaFX & SWT 7
G Problem mit NullPointerException AWT, Swing, JavaFX & SWT 11
M JTable verursacht NullPointerException AWT, Swing, JavaFX & SWT 8
M NullPointerException AWT, Swing, JavaFX & SWT 3
J NullPointerException bei getSelectedItem AWT, Swing, JavaFX & SWT 10
G Bekomme immer: NullPointerException AWT, Swing, JavaFX & SWT 2
Ironfighter Ich brauche hilfe mit Kollisionen AWT, Swing, JavaFX & SWT 1
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
T Swing Hilfe - Selbst Informatik Lehrer konnte mir nicht weiter Helfen AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
A Swing TicTacToe-Bitte um Hilfe AWT, Swing, JavaFX & SWT 32
T Bitte um Hilfe AWT, Swing, JavaFX & SWT 2
T Hilfe bei Code AWT, Swing, JavaFX & SWT 2
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
J Warum geht das nicht? if-else usw..... compilieren geht nicht -- HILFE!!! AWT, Swing, JavaFX & SWT 10
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
T Hilfe was mus ich tun um das fertige JfxFenster zu sehen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen


Oben