NullPointer bei Aufruf aus anderer Klasse?

5argan

Grünschnabel
Hallo Leute,
tut mir leid, falls es dazu schon Lösungen gibt oder es extrem einfach ist, aber ich komme einfach nicht drauf und habe auch bisher nichts dazu gefunden (hier und in google).
Ich versuche, einen Taschenrechner zu programmieren. Dabei möchte ich, dass dieser sowohl mit der Tastatur als auch mit Buttons bedienbar ist. Ich versuche daher jetzt, zu erreichen, dass ein Tastendruck in das Input-Feld eine Zahl (hier 7) hinzufügt.
Das verwende ich in der java-Datei, die die Methoden hinter den Tastendrücken beinhält(Binary.java):
Code:
  public String key7(String inputValueString){
    inputString = inputValueString;
    inputString += 7;
    return inputString;
  }
inputString wird sowohl in den Attributen der Klasse festgelegt, als auch im Konstruktor mit inputString = ""; initialisiert.

In meiner GUI-java-Datei verwende ich:
Code:
  public void button1_ActionPerformed(ActionEvent evt) {
    textField1.setText(calc.key7(textField1.getText()));
  }
um bei Druck des mit "7" beschrifteten Buttons die Methode zum Umschreiben des textFields aufzurufen. calc ist dabei ein Objekt der Klasse Binary.

Leider bekomme ich folgenden Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at Taschenrechner.button1_ActionPerformed(Taschenrechner.java:226)
	at Taschenrechner$1.actionPerformed(Taschenrechner.java:65)
	at java.awt.Button.processActionEvent(Button.java:409)
	at java.awt.Button.processEvent(Button.java:377)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
	at java.awt.EventQueue.access$000(EventQueue.java:102)
	at java.awt.EventQueue$3.run(EventQueue.java:662)
	at java.awt.EventQueue$3.run(EventQueue.java:660)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:676)
	at java.awt.EventQueue$4.run(EventQueue.java:674)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Vielen Dank schon mal für die Hilfe :)
 
Hi und willkommen bei tutorials.de,
anhand deiner Exception schließe ich, dass der Fehler in deiner "button1_ActionPerformed"-Methode liegt. Ich an deiner Stelle würde den Einzeiler in dieser Methode in 3 Zeilen aufsplitten, damit du so den Fehler leichter finden kannst.
Java:
String text = textField1.getText();
String calcKey7 = calc.key7(text);
textField1.setText(calcKey7);
Wenn die Exception nun wieder geschmissen wird, weißt du sofort in welcher Zeile und welche Variable null ist.
Da ich den kompletten Code nicht habe, musst du das aber selber ausprobieren. ;)

Gruß

Fabio
 
Vielen Dank Fabio :)
Es war zwar nicht direkt die Lösung, hat mich aber über Umwege auf das Problem gebracht.
Es lag einfach daran, dass ich das Objekt nicht richtig deklariert habe.
Code:
Binary calc;
reicht eben nicht :p
 
Zurück