Hallo zusammen,
ich komme wieder einmal mit einem scheinbaren Anfängerproblem, suche aber schon seit Stunden nach dem Fehler. Ich will in Klasse A ein Objekt von Klasse B erzuegen, um eine Methode von Klasse B auszuführen. Diese Methode wiederrum greift auf Objekte von Klasse B zu. Das scheitert bei mir an einer NullPointerException. Ein Freund riet mir, eine try-catch Struktur miteinzubeziehen, was für ihn ein ähnliches Problem löste, also hab ich es probiert. Die NullPointer kommt immer noch.
Hier der Code der Methode aus Klasse A(QButton), welcher eine Methode der Klasse B(QFrame) aufrufen soll:
Und nun ein Blick in die andere Klasse (QFrame):
Wie löse ich dieses Problem?
Muss ich dafür den gesamten Code posten (lang und unübersichtlich).. oder reicht dieser (scheinbar) betroffene Code?
Ich danke für alle Antworten und freundliche Grüße!
ich komme wieder einmal mit einem scheinbaren Anfängerproblem, suche aber schon seit Stunden nach dem Fehler. Ich will in Klasse A ein Objekt von Klasse B erzuegen, um eine Methode von Klasse B auszuführen. Diese Methode wiederrum greift auf Objekte von Klasse B zu. Das scheitert bei mir an einer NullPointerException. Ein Freund riet mir, eine try-catch Struktur miteinzubeziehen, was für ihn ein ähnliches Problem löste, also hab ich es probiert. Die NullPointer kommt immer noch.
Hier der Code der Methode aus Klasse A(QButton), welcher eine Methode der Klasse B(QFrame) aufrufen soll:
Java:
public void verloren()
{
verloren=true; //unwichtig
QFrame testframe = new QFrame();
try
{
testframe.timerStoppen();
}
catch(IOException e)
{
}
System.out.println("Verloren!"); //unwichtig
}
Und nun ein Blick in die andere Klasse (QFrame):
Java:
//Im Datenfeld werden 9 Objekte von Klasse A(QButton) erzeugt.
protected void timerStoppen() throws IOException //Die Timer aller Instanzen von Button werden gestoppt
{
button1.timer.stop();
button2.timer.stop();
button3.timer.stop();
button4.timer.stop();
button5.timer.stop();
button6.timer.stop();
button7.timer.stop();
button8.timer.stop();
button9.timer.stop();
}
Wie löse ich dieses Problem?
Muss ich dafür den gesamten Code posten (lang und unübersichtlich).. oder reicht dieser (scheinbar) betroffene Code?
Ich danke für alle Antworten und freundliche Grüße!