Zum Inhalt springen

Füllen eines File Arrays -> NullPointerException


SNOWMAN

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Was 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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...