Swing Dateinamen im JFileChooser vorschlagen

Pepe Rohny

Aktives Mitglied
Hi,

ich habe folgendes Problem: ich will mit einem JFileChooser eine Datei unter einem bestimmten Namen abspeichern und zwar unabhängig davon, ob sie bereits existiert. Dem JFileChooser übergebe ich einen Verzeichnispfad - was auch gut funktioniert. Nur: wie bekomme ich den Namen für die Datei in das zugehörige Feld?

Wenn die Datei bereits existiert ist es einfach: den Pfad der Datei im Konstruktor als Parameter übergeben.

Wenn die Datei nicht existiert und ich den Pfad der Datei im Konstruktor als Parameter übergebe, lande ich in meinem home-Verzeichnis und das Feld für den Namen ist leer.

Also über gebe ich den Pfad für das Verzeichnis im Konstruktor als Parameter und ...
nun ja - würde gerne den Dateinamen im entsprechenden Feld eintragen.

Keine Chance?

Pepe
 
S

SlaterB

Gast

Pepe Rohny

Aktives Mitglied
Hi,

das mit dem Verzeichnis stimmt schon - ich meine: es wird der richtige Pfad benutzt. Die System-Reaktion ist auch verständlich: wenn der Pfad nicht existiert kann man eine Ausnahme werfen oder auch in ein Verzeichnis wechseln, das mit Sicherheit existiert: z. B. das home-Verzeichnis.

Das Problem besteht darin, dass es - wie der Name schon sagt - (nur) eine Dateiauswahl ist. Das Erzeugen einer neuen Datei ist dabei nicht vorgesehen. Dumm gelaufen ?!

Ich habe mir die entsprechende Doku bei Oracle angesehen - das ist eigentlich alles was ich davon kenne.

Zum Thema Google: nun ja - mit den passenden Suchbegriffen findet man was - aber das sind im Grunde nur ähnlich gelagerte Fälle, aber keine befriedigenden Antworten.

Pepe
 
S

SlaterB

Gast
ich verstehe dein Posting nicht, in der ersten Hälfe wiederholst du glaube ich im Grunde deine Ursprungsfrage,
ist das allgemeine Rhetorik oder hatte ich konkret etwas falsch verstanden? ;)

in der zweiten Hälfte schreibst du dass die google-Ergebnisse nicht passen,
auch hier ist mir leider wieder unklar inwiefern sie nicht passen?

ich habe den Code aus meinem Link jetzt mal in folgendes Programm eingebaut:
Java:
public class TestGUI  extends JFrame {
    public TestGUI()   {
        JButton b = new JButton("klick");
        b.addActionListener(new saveButtonListener());

        add(b);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500, 300);
        setVisible(true);
    }

    public static void main(String[] args)  {
        new TestGUI();
    }
}

class saveButtonListener  implements ActionListener {
    JFileChooser fc = new JFileChooser();

    public void actionPerformed(ActionEvent e)
    {
        // set the current directory the application's current directory
        try
        {
            // create a file object containing the cannonical path of the desired file
            File f = new File(new File("x.html").getCanonicalPath());
            // set the selected file
            fc.setSelectedFile(f);
        }
        catch (IOException ex3)
        {
            System.out.println("ex");
        }
        // show the dialog; wait until dialog is closed
        fc.showSaveDialog(null);
    }
}
kopieren, starten, Button klicken -> es erscheint ein FileChooser, im Verzeichnis des Projekts (bei mir IDE Eclipse),
und 'x.html' ist als Dateiname vorgegeben (und es gibt keine solche Datei bisher)

ist das nun deine Frage exakt gelöst, ja oder nein? ;)
oder läuft das bei dir nicht (so)?
 

diel2001

Bekanntes Mitglied
Java:
           File f = new File(new File("x.html").getCanonicalPath());
Möchtest du an der Stelle eine neue Datei erstellen, dann musst du zusätzlich folgendes aufrufen


Java:
            f.createNewFile();
 

Pepe Rohny

Aktives Mitglied
Hi,

@SlaterB:

Rhetorik? Nee - normal nich'. Kann sein das wir uns gerade missverstehen.

Meine Frage habe ich im ersten Beitrag im ersten Satz formuliert - es täte mir Leid wenn sie unverständlich sein sollte.

Zum Code: wenn ich das richtig verstanden habe, wird eine Datei angelegt und übergeben. Kann man machen, ist aber nicht das was ich will; das ist ein bisschen komplizierter. Gleich mehr dazu ...

@diel2001: nicht unbedingt - sach' ich mal.

Ich habe mal folgenden Lösungsansatz angedacht:
mit new File("/absoluterPfad/dateiname") bekomme ich ein File-Objekt - unabhängig davon, ob die Datei existiert (wenn nicht wird sie eben erzeugt) -, dass ich dem JFileChooser im Konstruktor als Parameter übergebe. Nur: was passiert, wenn der Benutzer den Dateinamen ändert? Schliesslich ist der übergebene Parameter ja nur ein Vorschlag. Werde ich gleich mal ausprobieren ...
Wenn ich das richtig verstehe, muss ich alles selbst machen: File-Objekt holen, Namens-Änderung überprüfen und möglicherweise das jetzt überflüssige File-Objekt löschen.

Pepe
 
S

SlaterB

Gast
ein erstelltes File-Objekt ist nicht unbedingt auch eine erstellte Datei wo auch immer (ein PC muss ja nicht mal eine Festplatte haben)
createNewFile() hat schon für sich eine Funktion
 

Pepe Rohny

Aktives Mitglied
ein erstelltes File-Objekt ist nicht unbedingt auch eine erstellte Datei wo auch immer (ein PC muss ja nicht mal eine Festplatte haben)
createNewFile() hat schon für sich eine Funktion

da magst du Recht haben. Denn wird das noch 'n bisschen komplizierter ...

Eigentlich wollte ich nur den schon vorhandenen JFileChooser ...

Nun ja ...
 
S

SlaterB

Gast
> Eigentlich wollte ich nur den schon vorhandenen JFileChooser ...

und eigentlich ist es von Anfang an immer nur eine Zeile:
Datei x soll ausgewählt sein:
-> fc.setSelectedFile(neues file .. richtiges Verzeichnis .. + Dateiname);

ist eine Zeile wirklich zuviel?,
du machst dir so viele komplizierte Hintergedanken und schreibst doch nie wirklich konkret was dich stört..
 

Pepe Rohny

Aktives Mitglied
> Eigentlich wollte ich nur den schon vorhandenen JFileChooser ...

und eigentlich ist es von Anfang an immer nur eine Zeile:
Datei x soll ausgewählt sein:
-> fc.setSelectedFile(neues file .. richtiges Verzeichnis .. + Dateiname);

ist eine Zeile wirklich zuviel?,
du machst dir so viele komplizierte Hintergedanken und schreibst doch nie wirklich konkret was dich stört..

ja nee - ganz so einfach is' das eben nich'

dein Vorschlag funktioniert nur, wenn die Datei schon existiert. Aber gut: ich erzeuge ein File-Objekt und wenn die Datei noch nicht existiert erzeuge ich sie.

und denn kommt der zweite Teil - die mögliche Umbennung - der aber relativ einfach zu handhaben ist; denke ich (noch)

Pepe
 
S

SlaterB

Gast
> dein Vorschlag funktioniert nur, wenn die Datei schon existiert.

nun gut, das ist eine feste Aussage,
ich hoffe du hast gut getestet, und beziehst dich nicht auf andere Verfahren wie anfangs genannt 'im Konstruktor als Parameter übergeben',
bei mir gehts, Windows zu Linux könnte einen Unterschied machen,
 

Pepe Rohny

Aktives Mitglied
> dein Vorschlag funktioniert nur, wenn die Datei schon existiert.

nun gut, das ist eine feste Aussage,
ich hoffe du hast gut getestet, und beziehst dich nicht auf andere Verfahren wie anfangs genannt 'im Konstruktor als Parameter übergeben',
bei mir gehts, Windows zu Linux könnte einen Unterschied machen,

unter Linux funktioniert folgender code:
Java:
File file = new File("/absoluterPfad/dateiName");
    if (file.exists() == false) {
        try {
            file.createNewFile();
        } catch (Exception excpeption) {
            excpeption.printStackTrace();
        }
    }
JFileChooser fileChooser = new JFileChooser(file);
fileChooser.setSelectedFile(file);

und wenn ich den Dateinamen im entsprechenden Feld ändere und speicher bekomme ich ein anderes File-Objekt zurück. Jetzt muss ich nur noch die Datei löschen, wenn sie nicht vorhanden war aber eine andere Datei gespeichert wurde ...

unschön ist nur, dass zwischendurch diese Datei wirklich existiert

vielleicht hat ja jemand ne' bessere Idee ...
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
T JFileChooser: beim Save Dialog einen Dateinamen vorgeben? AWT, Swing, JavaFX & SWT 6
C JFileChooser als SaveDialog mit vorgegebenem Dateinamen? AWT, Swing, JavaFX & SWT 3
P FileFilter auf Dateinamen AWT, Swing, JavaFX & SWT 1
M SWT Dateinamen von Imagefile herausfinden AWT, Swing, JavaFX & SWT 8
M DropTargetDropEvent -> Dateinamen AWT, Swing, JavaFX & SWT 6
Tommy135 JFileChooser ist sehr langsam AWT, Swing, JavaFX & SWT 13
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M Swing jFileChooser Header viewTypeDetails setFont AWT, Swing, JavaFX & SWT 0
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser für nicht existierendes Unterverzeichnis AWT, Swing, JavaFX & SWT 3
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
L JFileChooser Datentyp Unterscheidung AWT, Swing, JavaFX & SWT 6
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
Neumi5694 Swing JFilechooser - Detailansicht AWT, Swing, JavaFX & SWT 0
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
T JFileChooser Rahmenfarbe ändern AWT, Swing, JavaFX & SWT 1
K Pfad mit JFileChooser ausgeben lassen AWT, Swing, JavaFX & SWT 7
C JFileChooser hängt bei Ausführung mit Terminal AWT, Swing, JavaFX & SWT 2
T Swing JFileChooser und FileView AWT, Swing, JavaFX & SWT 4
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser inline editing AWT, Swing, JavaFX & SWT 4
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
N JFileChooser bzw. FileDialog Problem AWT, Swing, JavaFX & SWT 10
A Swing JFileChooser - Größenänderung nach Aufruf von showOpenDialog() AWT, Swing, JavaFX & SWT 15
D Serverdirectory auf Client browsen mit JFileChooser AWT, Swing, JavaFX & SWT 7
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
C JFileChooser und Netzwerk Laufwerke AWT, Swing, JavaFX & SWT 4
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
P JFileChooser mit verschidene Endungen AWT, Swing, JavaFX & SWT 12
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
C JFileChooser bringt parent durcheinander AWT, Swing, JavaFX & SWT 2
N JFileChooser mit Dateinamenvorgabe AWT, Swing, JavaFX & SWT 9
S JFileChooser GTK (Ubuntu) "hässlich" AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser mit modifiziertem Kontextmenü AWT, Swing, JavaFX & SWT 4
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
M JFileChooser umbenennen verbieten AWT, Swing, JavaFX & SWT 4
Helgon JFileChooser öffnet sich 2x AWT, Swing, JavaFX & SWT 12
K JFileChooser mit Zusatzfunktionen AWT, Swing, JavaFX & SWT 8
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
V JFileChooser auf Mac und Netzwerkordner AWT, Swing, JavaFX & SWT 2
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
M JFileChooser setCurrentDirectory() - Verzeichnis relativ zum Code/binary AWT, Swing, JavaFX & SWT 14
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
T Swing JFileChooser --> Desktop und Laufwerke im "Suchen in" - Drop Down AWT, Swing, JavaFX & SWT 3
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
T JFileChooser - "Öffnen-Button" aktivieren/deaktivieren möglich??? AWT, Swing, JavaFX & SWT 2
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
M Zurück-Button in JFileChooser AWT, Swing, JavaFX & SWT 9
N JFileChooser AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
S JFileChooser Dateiname Autovervollständigung AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
I Swing JFileChooser '\' im Pfad... AWT, Swing, JavaFX & SWT 2
K Swing JFileChooser zum Speichern - FileFilter AWT, Swing, JavaFX & SWT 2
M Swing Execption beim JFileChooser AWT, Swing, JavaFX & SWT 4
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
Iron Monkey JFileChooser DIRECTORIES_ONLY AWT, Swing, JavaFX & SWT 4
Semox Swing JFileChooser: Problem Approve oder Cancel abzufangen AWT, Swing, JavaFX & SWT 7
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
kodela Sicherheitsabfrage mit JFileChooser AWT, Swing, JavaFX & SWT 2
DARK_ZERATO2 jFileChooser AWT, Swing, JavaFX & SWT 4
G JFileChooser Problem AWT, Swing, JavaFX & SWT 4
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
P JFileChooser AWT, Swing, JavaFX & SWT 2
M Swing JFileChooser und JFrame AWT, Swing, JavaFX & SWT 5
G Swing JFileChooser in einem JPanel? AWT, Swing, JavaFX & SWT 3
J JFileChooser Dateiauswahl beim Tippen einschränken AWT, Swing, JavaFX & SWT 3
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
T JFileChooser Problem AWT, Swing, JavaFX & SWT 3
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
ARadauer Swing JFileChooser mit Bildvorschau AWT, Swing, JavaFX & SWT 5
H Swing Dateiauswahldialog mit JFileChooser funktioniert unzuverlässig AWT, Swing, JavaFX & SWT 11
G Swing JFileChooser nur in Verzeichnis+Unterverzeichnisse AWT, Swing, JavaFX & SWT 5
K Swing JFileChooser AWT, Swing, JavaFX & SWT 6
M JFileChooser einschränken AWT, Swing, JavaFX & SWT 3
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben