Java show save file dialog using jfilechooser
In Java Swing, you can use the JFileChooser component to display a "Save" dialog to the user and allow them to select a location to save a file. Here's an example of how to do this:
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.filechooser.FileNameExtensionFilter;
public class SaveFileDialogExample extends JFrame {
public SaveFileDialogExample() {
super("Save File Dialog Example");
// Create a new file chooser
JFileChooser fileChooser = new JFileChooser();
// Set the file chooser to display only files with the .txt extension
FileNameExtensionFilter filter = new FileNameExtensionFilter("Text Files", "txt");
fileChooser.setFileFilter(filter);
// Display the "Save" dialog
int result = fileChooser.showSaveDialog(this);
// If the user clicked "Save"
if (result == JFileChooser.APPROVE_OPTION) {
// Get the selected file
java.io.File file = fileChooser.getSelectedFile();
// Do something with the file, like writing to it
// ...
System.out.println("Selected file: " + file.getAbsolutePath());
}
// Set the size, location and visibility of the frame
pack();
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new SaveFileDialogExample();
}
}
In this example, we create a JFileChooser component and set its file filter to allow only files with the .txt extension. We then display the "Save" dialog using the showSaveDialog method and wait for the user to select a file. If the user clicks "Save", we retrieve the selected file using the getSelectedFile method and do something with it, like writing to it.
Note that the showSaveDialog method is a blocking call, so the code after it won't be executed until the user selects a file or cancels the dialog.
When you run this example, a "Save" dialog will be displayed to the user, and they will be able to select a location to save a file. If they select a file and click "Save", the file's path will be printed to the console. If they cancel the dialog, nothing will happen.
