On affiche la boite de dialogue d'enregistrement avec ces deux lignes de code:
//instancier JFileChooser
final JFileChooser fc = new JFileChooser();
//invoquer la méthode showSaveDialog
int valeuretour = fc.showSaveDialog(fenetre);
L'instance JFileChooser est la même pour ouvrir les fenêtres de dialogue d'ouverture et de sauvegarde, donc vous devez utiliser la même instance File chooser et éviter de créer plusieurs versions.
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class SaveDialog {
public static void main(String[] args) {
final JFrame fenetre = new JFrame();
fenetre.setSize(200,200);
fenetre.setLocationRelativeTo(null);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true);
JMenuBar jmb = new JMenuBar();
JMenu jm = new JMenu("Ficher");
JMenuItem Save = new JMenuItem("Enregistrer");
jm.add(Save);
jmb.add(jm);
fenetre.add(jmb,BorderLayout.NORTH);
final JFileChooser fc = new JFileChooser();
Save.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int val_retour = fc.showSaveDialog(fenetre);
if (val_retour == JFileChooser.APPROVE_OPTION) {
File fichier = fc.getSelectedFile();
//afficher le chemin absolu du fichier
System.out.println("Chemin absolu : "+fichier.getAbsolutePath()+"\n");
} else {
System.out.println("L'enregistrement est annulée\n");
}
}
});
}
}
La console:
Chemin absolu : C:\Users\VAIO\Documents\CC++\test.txtVous pouvez changer le mode de sélection des fichiers. Par exemple, la ligne de code suivante rend possible de sélectionner seulement les dossier dans JFileChooser:
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);Un autre mode de sélection est FILES_AND_DIRECTORIES. Le paramètre par défaut est FILES_ONLY.
Références
Oracle Doc:How to Use File Choosers
StackOverFlow:How to save a file using JFileChooser.showSaveDialog?
Commentaires (0)
Laisser un commentaire
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Chargement des commentaires...