JFileChooser



  • Moin,

    gibt es eine Möglichkeit dem JFileChooser zu sagen, dass immer gefragt werden soll, wenn eine Datei schon existiert (beim speichern) oder muss man das immer selber bauen?



  • Soweit ich weiß musst du dich da schon selbst drum kümmern. Der FileChooser übernimmt ja auch nicht das Speichern für dich, sondern ist wie der Name schon sagt eben nur dazu da um Dateien(oder Verzeichnisse) graphisch auszuwählen.
    Was du dann damit machst ist deine Sache; kriegst ja über "getSelectedFile()" ein File-Objekt zurück und da kannst dann File.exists() aufrufen.



  • Ich hatte nur gedacht, dass Java sowas sicherlich auch kann. Dann werde ich das ganze selber basteln.



  • das sind 2 zeilen 😮 😮 😮 😮



  • Habe mehr gebraucht, kannst ja mal deine 2 zeilige Lösung zeigen.



  • Also der Kommentar oben stammt nicht von mir, aber trotzdem hier...

    (Also das ist eher Java-PseuoCode, da ich das nicht auswendig im Kopf hab)

    JFileChooser fc;
    
    ...
    File f = fc.getSelectedFile();
    if (f.exists()) {
       int n = JOptionPane.showConfirmDialog("blabla");
       if (n == JOptionPane.YESOPTION) {
              //Datei speichern
       } else {
             //abbrechen
       }
    }
    

    Also wirklich viel ist es nicht; kommt schon ganz gut an die 2 Zeilen dran... denn das FileObjekt musst du dir eh holen. Das was hier dazu kommt ist eben die Abfrage ob die Datei schon existiert, und wenn ja dan wird eine JOptionPane aufgemacht wo man fragt obs okay ist. Sind also eigentlich 3 Zeilen Code die hier zum eigentlichen dazu kommen



  • Ich finde diese Lösung ein wenig unschön, da der File Dialog schon geschlossen ist, wenn der File Exists Dialog angezeigt wird. Möchte man dem Benutzer erlauben nochmal eine Wahl zu treffen, dann muss man den File Dialog wieder neu anzeigen. Dieses vorgehen ist für den Benutzer ungewohnt (zumindest als Windows User).

    Ich habe es gelöst, indem ich eine Ableitung vom JFileChooser gemacht und approveSelection überladen habe.

    Hatte durch den Kommentar von kein Name gedacht, dass dieser vielleicht einen schöneren Weg kennt.


Anmelden zum Antworten