Java - Problem mit zwei JFrames, unerklaerliche NullPointerException
COLOSSUS 25.05.2005 - 10:41 1096 3
COLOSSUS
AdministratorGNUltra
|
Ich bin grade gezwungen, mich mit Java (blackdown-jdk 1.4.2) herumzuschagen, und habe dabei ein Problem mit einer fuer mich nicht erklaerbaren NullPointerException. JFrame1 hat eine public deklarierte Methode showAgain(), die ihre Visibility auf true setzt. JFrame2 wird von JFrame1 konstruiert, wobei JFrame1 unter anderem eine Referenz auf sich selbst an JFrame2 uebergibt, die in der Instanvariable "mainFrame" abgelegt wird, und woraufhin sich die Visibility von JFrame1 auf false setzt. Wenn ich nun in JFrame2 den in meinen Augen gueltigen Methodenaufruf this.mainFrame.macheSichtbar(); vollfuehre, wird die besagte NullPointerException geworfen, und JFrame1 bleibt unsichtbar. Jemand eine Idee, warum das der Fall sein koennte? Den Sourcecode gibt's hier, die involvierten Klassen sind weahleSaal (oben JFrame1 genannt) und verwalteSaal (JFrame2). Ist quick&dirtiest, bitte geht nicht allzu hart mit mir wegen der Codequlitaet ins Gericht - normalerweise fass ich Java nicht an, aber der Abgabetermin fuer den Kack rueckt leider immer naeher (4h hab ich noch ). Danke im Voraus fuer Hilfe/Kommentare/Anregungen/Mitleidsbekundungen.
|
watchout
Legendundead
|
übergib mal "this" statt "s" und das prog compiled sicher ohne fehlermeldung? du weist nämlich in einer static function einer public variable nen wert zu, und das kann imho nicht gehen... aber wer weiss edit: geht um waehlesaal.java:79
Bearbeitet von watchout am 25.05.2005, 11:34
|
COLOSSUS
AdministratorGNUltra
|
Thx, das war's tatsaechlich kA, wie ich darauf gekommen bin - bei allen anderen aehnlichen Situationen habe ich naemlich this uebergeben. Herzlichen Dank! PS: colo@colossus Java_Kino $ javac *.java
colo@colossus Java_Kino $
... der Compiler meckert nicht. Wie's mit JDK 1.5 aussieht, weisz ich nicht. gut moeglich, dass das Biest dann schreit
|
watchout
Legendundead
|
na bin ich gut Java 1.4 is übrigens generell nicht so das Wahre, wenn du die Möglichkeit hast nimm lieber 1.5
|