Hey,
ich meinem Thread welcher die "Klicks pro Sekunde" zählt gibt es ein NullPointer Exception. Ich habe eine Idee weshalb es so sein könnte, aber ich wollte hier nochmal nachfragen, da ich sowieso nicht genau wüsste, wie ich den Fehler beheben sollte, wenn ich überhaupt die richtige Idee habe...
Also hier ein Teil der Thread-Klasse:
Die Exception lautet:
Und
Ich hoffe ihr könnt mir helfen. Danke!
ich meinem Thread welcher die "Klicks pro Sekunde" zählt gibt es ein NullPointer Exception. Ich habe eine Idee weshalb es so sein könnte, aber ich wollte hier nochmal nachfragen, da ich sowieso nicht genau wüsste, wie ich den Fehler beheben sollte, wenn ich überhaupt die richtige Idee habe...
Also hier ein Teil der Thread-Klasse:
Java:
@Override
public void run() {
cps.setCpsBoolean(false);
while (running) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
System.err.println("Error while sleeping.");
e.printStackTrace();
}
if (cps.getClicksPerSecond() > 0) {
cps.getLblClicksPerSecond().setText("CPS: " + cps.getClicksPerSecond());
if (cps.getClicksPerSecond() < cpsData.getClicks_Per_Second_Max()) { //Die Exception verweist auf diese Zeile
cpsData.setClicks_Per_Second_Max(cps.getClicksPerSecond());
}
cps.setClicksPerSecond(0);
}
}
Exception in thread "Thread-1" java.lang.NullPointerException
at de.m_ver.cookieclicker.threads.CPSThread.run(CPSThread.java:33)
at java.lang.Thread.run(Unknown Source)
at de.m_ver.cookieclicker.threads.CPSThread.run(CPSThread.java:33)
at java.lang.Thread.run(Unknown Source)
Und
cps
+ cpsData
sind Zwei Inztanzen einer Klasse, ich vermute dass an cpsData der Fehler liegt, da diese Inztanz nicht aus dem Kontruktor geholt wird, sondern davor:
Java:
private CookieClickerGUI cps;
private Database cpsData;
private boolean running = true;
public CPSThread(CookieClickerGUI cps, Database cpsData) { //Der Konstruktor der Thread-Klasse
this.cps = cps;
this.cpsData = cpsData;
}
Java:
Database database; //Die Datenbank die ich mir mit cpsData holen will
Thread cpsThread = new Thread(new CPSThread(this, database)); //Mein Thread
//Der Konstruktor der Klasse aus der ich die Inztanzen hole:
public CookieClickerGUI() {
database = new Database(this); //Wird erst in dem Kontruktor aufgerufen, weshalb (glaube ich) Database database; zu dem Zeitpunkt wo ich es brauche (noch) nicht initialisiert ist.
}
Ich hoffe ihr könnt mir helfen. Danke!