javasavedefault.pngimage-file

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


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?


Solution

  • 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) {
        ...
    }