Как сохранить использование файла JFileChooser?

У меня есть метод в моем приложении под названием "Сохранить Как", который Сохраняет образ моего приложения на компьютере моем в файл. Я использовал JFileChooser, чтобы позволить пользователям выбрать свое желаемое местоположение для того, чтобы сохранить файл. Проблема состоит в том, если пользователь явно не вводит в формате файла, она сохранила файл без расширения. Как у меня могут быть форматы как jpg, png в выпадающем меню Типа файла.

и, как я могу получить расширение из меню отбрасывания Типа файла для сохранения моего файла изображения.

 ImageIO.write(image,extension,file);
13
задан skaffman 27 March 2010 в 21:41
поделиться

2 ответа

Наконец, я решил свою проблему: -

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 retrival=m_fileChooser_save.showSaveDialog(null);

if (retrival == m_fileChooser_save.APPROVE_OPTION) 
   {

        String ext="";

        String extension=m_fileChooser_save.getFileFilter().getDescription();

       if(extension.equals("*.jpg,*.JPG"))
      { 
          ext=".jpg";
      }
      if(extension.equals("*.png,*.PNG"))
      { 
          ext=".png";
      }
      if(Extension.equals("*.gif,*.GIF"))
      { 
          ext=".gif";
      }
      if(extension.equals("*.wbmp,*.WBMP"))
      { 
          ext=".wbmp";
      }
      if(Extension.equals("*.jpeg,*.JPEG"))
      { 
          EXT=".jpeg";
      }
      if(extension.equals("*.bmp,*.BMP"))
      { 
          ext=".bmp";
      }

Пример фильтра:

 import java.io.*;
 import java.io.File;
 import java.util.*;
 import javax.swing.filechooser.FileFilter;   
 class jpgSaveFilter extends FileFilter
 { 
    public boolean accept(File f)
   {
        if (f.isDirectory())
          {
            return false;
          }

         String s = f.getName();

        return s.endsWith(".jpg")||s.endsWith(".JPG");
   }

   public String getDescription() 
  {
       return "*.jpg,*.JPG";
  }

}
16
ответ дан 1 December 2019 в 22:57
поделиться

Используйте пример JFileChoose.SetFileFilter: http://www.java2s.com/Code/JavaAPI/javax.swing/JFileChoosersetFileFilterFileFilterfilter.htm

1
ответ дан 1 December 2019 в 22:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: