JavaFX FileChooser speichern ohne Zieldatei?

GenerationLost

Mitglied
Hallo!

Ich verstehe nicht ganz wie der FileChooser bzgl. dem Speichern funktioniert.
Als return wert hat die funktion showSaveDialog() ein Objekt von Typ File, welches null ist, wenn man im FileChooser selbst keine Datei ausgewählt hat.
Wie soll ich dann eine komplett neue Datei von Grund auf speichern können, wenn bisher noch keine Datei zum überschreiben besteht? Der FileChooser sollte doch dann ein neues File mit der Zieladresse anlegen und nicht einfach "null" zurückgeben. Selbst wenn ich ein "null-File" abfange, wie kann ich selbst ein neues File anlegen, wenn ich gar nicht an die angegebene Zieladresse aus dem FileChooser rankomme?

Freue mich auf Unterstützung!

LG
GenerationLost
 
Zuletzt bearbeitet:

Joose

Top Contributor
Mit showOpenDialog() öffnest du ein Fenster um eine Datei zu öffnen. Du solltest eher showSaveDialog() verwenden ;)
 

krgewb

Top Contributor
Der Dialog ist nur dazu da, einen Pfad und Dateinamen zu wählen.
Du musst deinem JFileChooser-Objekt einen ActionListener zuweisen. Bei mir z.B. so:
Java:
chooser.addActionListener(new SaveFileAs(mainWindow));
SaveFileAs ist eine Klasse, die ich geschrieben habe. Sie erbt von ActionListener. Dort kann in der actionPerformed-Methode die Datei geholt werden:
Java:
JFileChooser source = (JFileChooser) e.getSource();
File xmlFile = source.getSelectedFile();
Danach rufe ich meine Klasse CreateFileXX auf
Java:
new CreateFileXX(mainWindow, xmlFile);
Dort steht im Konstruktor:
Java:
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
String commentary = "Huhu";
osw.write(commentary);
osw.close();
Dadurch wird die Datei erstellt und "Huhu" reingeschrieben.
 
Zuletzt bearbeitet:

GenerationLost

Mitglied
Es geht aber nicht um den JFileChooser sondern um den FileChooser aus JavaFX, da ich nicht mit Swing arbeite. Und der JavaFX FileChooser gibt ein File Objekt zurück. ;)
Aber irgendwie muss das damit doch auch möglich sein...
 

GenerationLost

Mitglied
Danke dir! :)

Also, wenn ich das jetzt richtig verstanden habe, gibt mir der FileChooser ein File Objekt mit Dateinamen und dem dazugehörigen Dateipfad, welche ich beide als Initialwert angegeben habe zurück?
Und der Dateipfad wird dem File Objekt so oder so übergeben? Heißt also, wenn ich im Chooser selbst einen Ordner und einen Dateinamen angebe, wird mit ein File Objekt samt Name und Pfad geliefert, mit dem ich die eigentlichen Daten in den richtigen Pfad schreiben kann? Also kein "null-File"?

Apropos Pfade... wie kann ich mir von Java den relativen Pfad der später fertigen .jar + Unterordner zum speichern geben lassen? Also wenn ich die .jar ausführe, soll genau der Pfad in dem sich die Datei befindet auch gleich im FileChooser angezeigt werden. So würde ich dann nämlich auch das automatische Laden einer Datei zum Programmstart implementieren.
 

Joose

Top Contributor
Also, wenn ich das jetzt richtig verstanden habe, gibt mir der FileChooser ein File Objekt mit Dateinamen und dem dazugehörigen Dateipfad, welche ich beide als Initialwert angegeben habe zurück?
Und der Dateipfad wird dem File Objekt so oder so übergeben? Heißt also, wenn ich im Chooser selbst einen Ordner und einen Dateinamen angebe, wird mit ein File Objekt samt Name und Pfad geliefert, mit dem ich die eigentlichen Daten in den richtigen Pfad schreiben kann? Also kein "null-File"?

Probiere es doch einfach aus ;)
Ich habe noch nie mit JavaFX gearbeitet, nehme aber an dass es so funktioniert wie von dir beschrieben.
 

GenerationLost

Mitglied
Jup, genau so klappt es, danke dir! :)

Zum Testen habe ich folge Methode geschrieben; Ausgabe ist der vollständige Dateipfad samt Dateiname der im FileChooser ausgewählt wurde!
Java:
public void save()
    {
        FileChooser chooser= new FileChooser();
        chooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Save files (*.sav)", "*.sav"));
        chooser.setInitialFileName("progress.sav");
     
        File f = chooser.showSaveDialog(this.getScene().getWindow());
     
        System.out.println(f.getAbsolutePath());
    }

Bzgl. des Programmpfads nehme ich nun einfach (new File("")).getAbsolutePath();
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G FileChooser Bild Speichern AWT, Swing, JavaFX & SWT 3
T Fehlermeldungen bei Cancel FileChooser AWT, Swing, JavaFX & SWT 7
Bluedaishi FileChooser.ExtensionFilter AWT, Swing, JavaFX & SWT 4
C FileChooser Save-Dialog zeigt Files nicht an AWT, Swing, JavaFX & SWT 3
N Swing Filechooser zweifarbig machen AWT, Swing, JavaFX & SWT 33
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B FileChooser anpassen AWT, Swing, JavaFX & SWT 2
D Swing FileChooser mit einem neuen Rootordner AWT, Swing, JavaFX & SWT 6
X Bild via FileChooser in paint-Methode laden AWT, Swing, JavaFX & SWT 2
N FileWriter mit FileChooser AWT, Swing, JavaFX & SWT 3
D Swing JOptionPane + FileChooser .. Reihenfolge wichtig!? AWT, Swing, JavaFX & SWT 7
M FileChooser Bilder auswählen AWT, Swing, JavaFX & SWT 8
kodela FileChooser mit "absolutem" Root-Verzeichnis öffnen AWT, Swing, JavaFX & SWT 2
L Filechooser File Öffnen AWT, Swing, JavaFX & SWT 4
N FileChooser in View AWT, Swing, JavaFX & SWT 3
E Swing filechooser - nur Netzwerkpfade anzeigen lassen AWT, Swing, JavaFX & SWT 14
H FileChooser und Filter AWT, Swing, JavaFX & SWT 4
F Problem mit Mehrfachauswahl bei Filechooser AWT, Swing, JavaFX & SWT 2
G Fragen zum FileChooser AWT, Swing, JavaFX & SWT 5
G FileChooser AWT, Swing, JavaFX & SWT 5
R filechooser soll sich das Verzeichnis merken AWT, Swing, JavaFX & SWT 2
K Bilddatei mit Filechooser auswählen und anzeigen/impotieren AWT, Swing, JavaFX & SWT 18
G FileChooser - Größe (Dimension) ändern AWT, Swing, JavaFX & SWT 2
V System Look and Feel, FileChooser, Optionen einer jar-Datei AWT, Swing, JavaFX & SWT 10
M bei filechooser.showSaveDialog(null); auf Datein. zugreifen AWT, Swing, JavaFX & SWT 2
U FileChooser Layout - Threads? AWT, Swing, JavaFX & SWT 17
D FileChooser der anderen Art. AWT, Swing, JavaFX & SWT 2
C falsche Pfadangabe bei FileChooser AWT, Swing, JavaFX & SWT 7
W Vorschau mit FileChooser: Ereignis bei Datei ausgewählt? AWT, Swing, JavaFX & SWT 4
H FileChooser AWT, Swing, JavaFX & SWT 5
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
officialmaxl JavaFX Textfield getTextfield() in String speichern AWT, Swing, JavaFX & SWT 1
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
J Warum kann ich die Spaltennummer in der Konsole anzeigen, diese aber nicht speichern ? AWT, Swing, JavaFX & SWT 6
F Output Stream / File Dateien / Speichern AWT, Swing, JavaFX & SWT 13
D String als Textdatei in ausgewähltem Speicherplatz speichern AWT, Swing, JavaFX & SWT 32
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
S URLS speichern von Internetseiten AWT, Swing, JavaFX & SWT 3
S Bild neu skalieren - Bild in Bild speichern? AWT, Swing, JavaFX & SWT 6
P Adressbuch Werte speichern AWT, Swing, JavaFX & SWT 21
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
G JTextField Eingabe in DB speichern AWT, Swing, JavaFX & SWT 68
B TableView als PDF speichern AWT, Swing, JavaFX & SWT 8
cool_brivk24 libGDX Welt speichern AWT, Swing, JavaFX & SWT 0
R Scene speichern AWT, Swing, JavaFX & SWT 7
D Inhalt von JTextField in MySQL speichern. Wie ? AWT, Swing, JavaFX & SWT 1
J Text in ein Textfeld eingeben und speichern AWT, Swing, JavaFX & SWT 27
S Swing jScrollPane - pro Eintrag der Liste, die jCheckBoxes Speichern die in dem Eintrag aktiviert wurden AWT, Swing, JavaFX & SWT 2
A Swing Wie Daten in der Form speichern? Array oder ArrayList AWT, Swing, JavaFX & SWT 2
I JavaFX formatierter Text in PDF speichern AWT, Swing, JavaFX & SWT 4
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
U Eingabe von TextField in variable speichern AWT, Swing, JavaFX & SWT 2
M Kamerabilder in ein Ordner speichern AWT, Swing, JavaFX & SWT 12
F Gezeichnetes als bild speichern AWT, Swing, JavaFX & SWT 4
I JavaFX Speichern der eingefügten Einträge beim Neustart des Programms AWT, Swing, JavaFX & SWT 2
I Variabeln speichern in Desktop Anwendung AWT, Swing, JavaFX & SWT 2
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
D Objekte einer Oberfläche in eine Datei/Ordner speichern AWT, Swing, JavaFX & SWT 9
S JavaFX Fenstergrösse automatisch Speichern und Laden AWT, Swing, JavaFX & SWT 4
J Swing Fenstereinstellungen speichern AWT, Swing, JavaFX & SWT 2
M Combo Box auswahl in eine Datenbank speichern AWT, Swing, JavaFX & SWT 1
M ausgewählte Inhalt von ListItem inn ComboBox in der Tabelle speichern AWT, Swing, JavaFX & SWT 0
M Bild Beschreibung mit ImageIO speichern AWT, Swing, JavaFX & SWT 1
C Image laden und Speichern - Image wird auf JPanel nicht angezeigt AWT, Swing, JavaFX & SWT 4
J Swing JTable speichern AWT, Swing, JavaFX & SWT 2
C GUI öfters durchlaufen und hinterher Bild speichern AWT, Swing, JavaFX & SWT 1
S Panelzeichnung speichern AWT, Swing, JavaFX & SWT 2
O JTextfield und JComboBox Wert in SQL Database speichern AWT, Swing, JavaFX & SWT 4
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
M Bild aus JLabel resizen und speichern AWT, Swing, JavaFX & SWT 0
A Swing Malprogramm Bild speichern? AWT, Swing, JavaFX & SWT 9
G Subimage von BufferedImage speichern AWT, Swing, JavaFX & SWT 4
Y JavaFX Bild speichern und Pfad dazu abspeichern AWT, Swing, JavaFX & SWT 2
D JPanel Graphic2D als BufferedImage Speichern AWT, Swing, JavaFX & SWT 5
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
B Bildverlust bei Speichern in .jar-Archiv AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Bildteile in ein anderes Bild speichern AWT, Swing, JavaFX & SWT 12
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
J JTree speichern AWT, Swing, JavaFX & SWT 4
kodela Teil eines Panels als Graphik speichern AWT, Swing, JavaFX & SWT 3
T Modell als XML Speichern / Laden AWT, Swing, JavaFX & SWT 9
P TextField beim klicken von JButton speichern AWT, Swing, JavaFX & SWT 17
P Öffnen, Speichern von Dat. über DialogBoxen AWT, Swing, JavaFX & SWT 10
B Zustand eines GUI speichern AWT, Swing, JavaFX & SWT 8
I Dialog zum Speichern? AWT, Swing, JavaFX & SWT 16
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
J Swing JTable-Daten Speichern und bei zeilen-änderung beibehalten. AWT, Swing, JavaFX & SWT 6
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
T SWT:Datei speichern / öffnen AWT, Swing, JavaFX & SWT 6
T speichern funktioniert,aber öffnen nicht AWT, Swing, JavaFX & SWT 2
W Grafik von JFrame korrekt speichern AWT, Swing, JavaFX & SWT 7
M Position eines JLabels speichern? AWT, Swing, JavaFX & SWT 3
P nicht sichtbares JPanel / JFrame als Image speichern AWT, Swing, JavaFX & SWT 3
A BufferedImage nach dem Speichern immer schwarz AWT, Swing, JavaFX & SWT 8
J Speichern, Event, Hintergrund getAppletContext AWT, Swing, JavaFX & SWT 2
S JTable - Sortierung beibhalten / Speichern. AWT, Swing, JavaFX & SWT 3
C Checkbox-zustände in einem JFrame speichern AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben