A Simple program demonstrating the working of JFileChooser dialog in Java using Swing framework.
Output of the program :

package com.hubberspot.swing.example;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class FileChooserDemo extends JFrame {
private JTextField display = new JTextField();
private JButton open = new JButton("Open");
private JButton save = new JButton("Save");
public FileChooserDemo() {
JPanel panel = new JPanel();
open.addActionListener(new OpenClass());
panel.add(open);
save.addActionListener(new SaveClass());
panel.add(save);
add(panel, BorderLayout.SOUTH);
display.setEditable(false);
panel = new JPanel();
panel.setLayout(new GridLayout(2,1));
panel.add(display);
add(panel, BorderLayout.NORTH);
}
class OpenClass implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
int option = chooser.showOpenDialog(FileChooserDemo.this);
if(option == JFileChooser.APPROVE_OPTION) {
display.setText("You chose " +
((chooser.getSelectedFile()!=null)?
chooser.getSelectedFile().getName():
"nothing"));
}
if(option == JFileChooser.CANCEL_OPTION) {
display.setText("You canceled.");
}
}
}
class SaveClass implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
int option = chooser.showSaveDialog(FileChooserDemo.this);
if(option == JFileChooser.APPROVE_OPTION) {
display.setText("You chose " +
((chooser.getSelectedFile()!=null)?
chooser.getSelectedFile().getName():
"nothing"));
}
if(option == JFileChooser.CANCEL_OPTION) {
display.setText("You canceled.");
}
}
}
public static void main(String[] args) {
setFrame(new FileChooserDemo(), 200, 100);
}
public static void
setFrame(final JFrame frame, final int width, final int height) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
frame.setTitle(frame.getClass().getSimpleName());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width, height);
frame.setVisible(true);
}
});
}
}
Output of the program :

