el siguiente ejemplo se crea un selector de archivos y lo muestra como un primer cuadro de diálogo de archivo abierto y luego como Guardar- diálogo de archivo:
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();
Este es un ejemplo más elaborado que crea dos botones que crean y muestran cuadros de diálogo de selección de archivos.
// 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 no necesita toda la flexibilidad de JFileChooser, debe usar java.awt.FileDialog en su lugar. Sus usuarios de OS X se lo agradecerán. FileDialog utiliza una ventana de selección de archivos nativos, mientras que JFileChooser es un componente de swing y carece de atajos de teclado y otras sutilezas. –
¡Tus usuarios de Windows también te lo agradecerán! –