Thorsten F.: SaveDiaolog

Hallo Leute,

ich habe ein SaveDialog:

public void saveFile()
    {
        JFileChooser fc = new JFileChooser();

fc.setFileFilter( new FileFilter()
        {
            public boolean accept( File f )
            {
                return f.isDirectory() ||
                f.getName().toLowerCase().endsWith(".txt");
            }
            public String getDescription()
            {
                return "Bilder";
            }
        } );

int returnVal = fc.showSaveDialog( null );

if ( returnVal == JFileChooser.APPROVE_OPTION )
        {
            File file = fc.getSelectedFile();
            System.out.println( file.getName() );
        }
        else
            System.out.println( "Auswahl abgebrochen" );

System.exit( 0 );

}

Der läuft auch so weit, nur das er mir halt keine Dateien speichert.
Wenn ich zum Beispiel in dem Textfeld "Dateiname" eine Datei angebe,
also zum Beispiel "c:\test.jpg" und diese in "Eigene Dateien" speichern möchte passiert nichts. Kann das mit dem Code da oben gar nicht laufen oder habe ich was übersehen?

Wäre für Hilfe, Tipps, Anregungen dankbar.

Grüße,
Thorsten F.

  1. Hallo,

    public void saveFile()
      {
          JFileChooser fc = new JFileChooser();

    fc.setFileFilter( new FileFilter()
          {

    [...]

    } );

    int returnVal = fc.showSaveDialog( null );

    ^^^^
    Hier solltest du unbedingt den Parent-Dialog angeben!

    if ( returnVal == JFileChooser.APPROVE_OPTION )
          {
              File file = fc.getSelectedFile();
              System.out.println( file.getName() );
          }

    [...]

    Der läuft auch so weit, nur das er mir halt keine Dateien speichert.

    Kein Wunder. Du speicherst die Datei ja auch gar nicht. :)

    Wenn ich zum Beispiel in dem Textfeld "Dateiname" eine Datei angebe,
    also zum Beispiel "c:\test.jpg" und diese in "Eigene Dateien" speichern möchte passiert nichts.

    Ein FileChooser ist, wie der Name vermuten läßt, zur Auswahl einer
    Datei da. Ein FileChooser speichert die Datei nicht. Kann er auch nicht,
    denn er weiß ja gar nicht, welche Daten du speichern willst und in
    welchem Format diese gespeichert werden sollen.

    Was dir fehlt, ist eine Funktionalität, die das eigentliche Schreiben
    der Daten in die vom Benutzer ausgewählte Datei durchführt.

    Gruß
    Slyh