SNOWMAN Geschrieben 17. Mai 2006 Geschrieben 17. Mai 2006 Hi, ich hab ein Problem das ich nicht verstehe (den gestern Abend war es noch nicht da und seitdem wurde nur n Variablenname geändert) Also ich hab: static File[] resFiles; ... JFileChooser FileChooser = new JFileChooser(); //FileChooser konfigurieren und Aufrufen, wenn APPROVE_OPTION: if(e.getActionCommand() == "Systempfad1"){ resFiles[0] = FileChooser.getSelectedFile(); File1Path.setText(resFiles[0].toString()); }else if(e.getActionCommand() == "Systempfad2"){ resFiles[1] = FileChooser.getSelectedFile(); File2Path.setText(resFiles[1].toString()); } Jeweils die zwei Zeilen in denen ich die ausgewählte Datei in mein Array schreibe und den Pfad als String in meine Textbox eintrage verursachen die java.lang.NullPointerException Ich hab absolut kein Plan wieso das so ist, das liegt wohl daran, das ich keine Ahnung von Java hab... Ich vermute ja, das es am "static" liet, jedoch, wenn ich das weg mache, dann macht er mir wo anders Probleme: Das Probramm kann auch von der Kommandozeile aufgerufen werden, dann werden die Kommandzeileparameter verarbeitet: resFiles[0] = new File(args[0]); resFiles[1] = new File(args[1]); Was muss ich denn nun machen, damit es wieder funktioniert? Zitieren
perdian Geschrieben 17. Mai 2006 Geschrieben 17. Mai 2006 Jeweils die zwei Zeilen in denen ich die ausgewählte Datei in mein Array schreibe und den Pfad als String in meine Textbox eintrage verursachen die java.lang.NullPointerExceptionWas auch - je nach Auswahl innerhalb des JFileChooser - durchaus ein richtiges Verhalten ist. Wenn keine Datei ausgewählt worden ist, trotzdem der OK Button geklickt wird ist die Auswahl eben null für "keine Auswahl". Ich vermute ja, das es am "static" liet, jedoch, wenn ich das weg mache, dann macht er mir wo anders Probleme:Natürlich, da du damit ein komplett anderes Verhalten erzeugst und eine Klassenvariable zu einer Instanzvariable machst. Bevor du also hier versucht irgendwas zu ändern und verzweifelt rumrätst solltest du bei den Grundlagen anfangen, die erstmal verstehen und erst danach zu weiteren Bereichen wie der GUI Programmierung wechseln. Zitieren
SNOWMAN Geschrieben 17. Mai 2006 Autor Geschrieben 17. Mai 2006 Aber wenn ich eine Datei ausgewählt habe, diese auch über "getSelectedFile()" zurückgegeben wird, müsste es doch gehen? ja ich weiß, würd auch lieber die Grundlagen erst machen, aber nein, man kommt zu mir sagt: Mach das, bis Freitag das war letzten Freitag nun hab ich 7 Tage zeit, n Tool zum vergleichen von XML Dateien nach speziellen vorgaben zu erstellen... alternative zu java ist C++ oder VB, kann ich auch beides nicht außreichend um die Aufgabe erledigen zu können Zitieren
M.A.Knapp Geschrieben 17. Mai 2006 Geschrieben 17. Mai 2006 Da liegt der Hund begraben: Natürlich muß vorher das Array angelegt werden: static File[] resFiles = new File[2]; Wie schon gesagt wurde: Lern mal die Java-Grundlagen. Neija, wenn Du die Grundlagen nicht hast, dann beschäftige dich in der Firma damit, dann hast du mal ein 60-Stunden Woche Zitieren
perdian Geschrieben 18. Mai 2006 Geschrieben 18. Mai 2006 aber nein, man kommt zu mir sagt: Mach das, bis Freitag das war letzten Freitag nun hab ich 7 Tage zeit, n Tool zum vergleichen von XML Dateien nach speziellen vorgaben zu erstellen...Wenn du nicht das nötige Wissen hast um die Aufgabe adäquat erledigen zu können, dann musst du das halt noch oben zum Vorgesetzten kommunizieren. Es bringt genauso wenig, wenn du irgendwas ablieferst nur um zu sage "Es ist fertig", was dann vielleicht auf den ersten Blick funktioniert, auf den zweiten Blick jedoch voller Bugs ist. Da ist niemand mit zufrieden - du nicht, dein Chef nicht und der Kunde erst recht nicht. Genau darum wird IT so oft unterschätzt: Man kann eben nicht jede Aufgabe innerhalb von ein paar Tage erledigen bzw. sich irgendwo im Netz (z.B. hier) die kompletten Lösungen besorgen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.