Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Füllen eines File Arrays -> NullPointerException

Empfohlene Antworten

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?

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.

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

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

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.