How to save file using JFileChooser?

前端 未结 4 650
花落未央
花落未央 2020-12-17 16:16

I have a method in my application called \"Save as\" which Saves the image of my application on computer my into a file. I used the JFileChooser to let the users choose thei

4条回答
  •  粉色の甜心
    2020-12-17 16:34

    Finally, I solved my own problem:

    JFileChooser fc = new JFileChooser("C:/");
    fc.addChoosableFileFilter(new JPGSaveFilter());
    fc.addChoosableFileFilter(new JPEGSaveFilter());
    fc.addChoosableFileFilter(new PNGSaveFilter());
    fc.addChoosableFileFilter(new GIFSaveFilter());
    fc.addChoosableFileFilter(new BMPSaveFilter());
    fc.addChoosableFileFilter(new WBMPSaveFilter()); 
    
    int retrieval = fc.showSaveDialog(null);
    
    if (retrieval == JFileChooser.APPROVE_OPTION) {
      String ext = "";
    
      String extension = fc.getFileFilter().getDescription();
    
      if (extension.equals("*.jpg,*.JPG")) {
        ext = ".jpg";
      } else if (extension.equals("*.png,*.PNG")) {
        ext = ".png";
      } else if (extension.equals("*.gif,*.GIF")) {
        ext = ".gif";
      } else if (extension.equals("*.wbmp,*.WBMP")) {
        ext = ".wbmp";
      } else if (extension.equals("*.jpeg,*.JPEG")) {
        ext = ".jpeg";
      } else if (extension.equals("*.bmp,*.BMP")) {
        ext = ".bmp";
      }
    }
    

    Example Filter:

    package example
    
    import java.io.File;
    import javax.swing.filechooser.FileFilter;
    
    class JPGSaveFilter extends FileFilter {
      @Override
      public boolean accept(File f) {
        if (f.isDirectory()) {
          return false;
        }
    
        String s = f.getName().toLowerCase();
    
        return s.endsWith(".jpg");
      }
    
      @Override
      public String getDescription() {
        return "*.jpg,*.JPG";
      }
    }
    

提交回复
热议问题