Quote Originariamente inviata da breathex Visualizza il messaggio
Non riesco a fare in modo che mi salvi solo i file. dat. Se in salva in nome file scrivo un file e un estensione diversa da dat ad esempio txt me la salva , non riesco a capire come fare in modo che non mi salvi altre estensioni se non quella specificata , potete spiegarmi perchè?
I "choosable file filter" di JFileChooser vengono usati da JFileChooser SOLO come filtro "visuale" nella sua lista dei file. Non vengono usati per fare alcun controllo, imposizione o limitazione su ciò che poi l'utente seleziona davvero.

Se vuoi puoi fare un controllo dopo che l'utente ha approvato la selezione. Se hai un solo tipo di file fisso puoi fare es.:

codice:
File selectedFile = fileChooser.getSelectedFile();

if (selectedFile.getName().endsWith(".dat")) { ..... }

Oppure in modo più pulito (e specialmente se avessi N filtri selezionabili) prendi il FileFilter selezionato e invochi tu il accept() per vedere se il filtro accetta davvero quel file.

codice:
File selectedFile = fileChooser.getSelectedFile();
FileFilter selectedFilter = fileChooser.getFileFilter();

if (selectedFilter.accept(selectedFile)) { ...... }

Il problema/difetto di approcci del genere è che questo controllo lo fai dopo che l'utente ha approvato la selezione e quindi solo DOPO che la finestra del file chooser si è chiusa!
Invece sarebbe bello mantenere aperta la finestra del chooser e mostrare per es. una dialog di errore. Questo si può fare ma devi estendere JFileChooser per ridefinire il metodo approveSelection(). Trovi il mio (molto vecchio!) esempio qui.