L'exemple suivant crée un sélecteur de fichier et affiche comme d'abord une boîte de dialogue de fichier ouvert, puis comme Enregistrer- boîte de dialogue de fichier:
String filename = File.separator+"tmp";
JFileChooser fc = new JFileChooser(new File(filename));
// Show open dialog; this method does not return until the dialog is closed
fc.showOpenDialog(frame);
File selFile = fc.getSelectedFile();
// Show save dialog; this method does not return until the dialog is closed
fc.showSaveDialog(frame);
selFile = fc.getSelectedFile();
Voici un exemple plus élaboré qui crée deux boutons qui créent et affichent des boîtes de dialogue de sélection de fichiers.
// This action creates and shows a modal open-file dialog.
public class OpenFileAction extends AbstractAction {
JFrame frame;
JFileChooser chooser;
OpenFileAction(JFrame frame, JFileChooser chooser) {
super("Open...");
this.chooser = chooser;
this.frame = frame;
}
public void actionPerformed(ActionEvent evt) {
// Show dialog; this method does not return until dialog is closed
chooser.showOpenDialog(frame);
// Get the selected file
File file = chooser.getSelectedFile();
}
};
// This action creates and shows a modal save-file dialog.
public class SaveFileAction extends AbstractAction {
JFileChooser chooser;
JFrame frame;
SaveFileAction(JFrame frame, JFileChooser chooser) {
super("Save As...");
this.chooser = chooser;
this.frame = frame;
}
public void actionPerformed(ActionEvent evt) {
// Show dialog; this method does not return until dialog is closed
chooser.showSaveDialog(frame);
// Get the selected file
File file = chooser.getSelectedFile();
}
};
Si vous n'avez pas besoin de toute la flexibilité de JFileChooser, vous devriez plutôt utiliser java.awt.FileDialog. Vos utilisateurs OS X vous remercieront. FileDialog utilise une fenêtre de sélecteur de fichier natif, tandis que JFileChooser est un composant swing, et manque de raccourcis clavier et d'autres améliorations. –
Vos utilisateurs de Windows vous remercierons aussi! –