import java.awt.Component;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.AbstractAction;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
public class Main {
public static void main(String[] argv) throws Exception {
MyFileChooser chooser = new MyFileChooser();
chooser.setDialogType(JFileChooser.SAVE_DIALOG);
final JDialog dialog = chooser.createDialog(null);
chooser.addActionListener(new AbstractAction() {
public void actionPerformed(ActionEvent evt) {
JFileChooser chooser = (JFileChooser) evt.getSource();
if (JFileChooser.APPROVE_SELECTION.equals(evt.getActionCommand())) {
dialog.setVisible(false);
} else if (JFileChooser.CANCEL_SELECTION.equals(evt.getActionCommand())) {
dialog.setVisible(false);
}
}
});
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dialog.setVisible(false);
}
});
dialog.setVisible(true);
}
}
class MyFileChooser extends JFileChooser {
public JDialog createDialog(Component parent) throws HeadlessException {
return super.createDialog(parent);
}
}