How can i make .png my default file extension in java

253 views Asked by At

Here is the snippet where i save the image with a .png extension:

 WritableImage img = rectCanvas.snapshot(new SnapshotParameters(), null);
        JFileChooser chooser = new JFileChooser();
        chooser.setCurrentDirectory(new File(System.getProperty("user.home")));
        int result = chooser.showSaveDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            try {
        File fileToSave = chooser.getSelectedFile();
                ImageIO.write(SwingFXUtils.fromFXImage(img, null), "png", fileToSave);
            } catch (IOException ex) {
                Logger.getLogger(GuiClass.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

I want .png to be my default file extension. However when i want to save an image to file and open the save dialog i have to enter the file name in the following format: filename.png. How can i get rid of the .png part and make it default?

1

There are 1 answers

0
MVogeler On BEST ANSWER

What are you setting as the value of "fileToSave"? If that isn't .png, it shouldn't be a png extension.

See the following from oracle's documentation:

try {
    // retrieve image
    BufferedImage bi = getMyImage();
    File outputfile = new File("saved.png");
    ImageIO.write(bi, "png", outputfile);
} catch (IOException e) {
    ...
}