我是用FileDialog类写的,现在的问题是:不能选择保存文件的类型,好像这个功能实用
setFilenameFilter 方法实现,假如我要保存一个".jpg"类型的文件怎么写好呢
例如:
FileDialog fd = new FileDialog(); fd.setFilenameFilter(new Ff(".txt"));
private class Ff implements FilenameFilter{
Ff(String st){
//此处如何写
}
public boolean accept(File dir, String file){
return file.endsWith(extension);
} }
setFilenameFilter 方法实现,假如我要保存一个".jpg"类型的文件怎么写好呢
例如:
FileDialog fd = new FileDialog(); fd.setFilenameFilter(new Ff(".txt"));
private class Ff implements FilenameFilter{
Ff(String st){
//此处如何写
}
public boolean accept(File dir, String file){
return file.endsWith(extension);
} }
不过用的是JFileChooser
和FileFilter贴出来看你用不用得到
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
class MediaFileFilter extends FileFilter
{
static String names[] ={}; private String name;
public boolean accept(File file)
{
int i=file.getName().toLowerCase().lastIndexOf(".");
String s=""; if(i!=-1)
{
s=file.getName().toLowerCase().substring(i);
}
return file.isDirectory()||(name.indexOf(s)!=-1);
} public String getDescription()
{
return name;
} MediaFileFilter(String name)
{
this.name = ".*";
this.name = name;
}
}
public class FileChooser
{
String na[]={".jpg"};
public static void main(String[] args)
{
JFileChooser jFileChooser1 = new javax.swing.JFileChooser();
MediaFileFilter.names=new FileChooser().na; jFileChooser1.removeChoosableFileFilter(jFileChooser1.getFileFilter());
MediaFileFilter filter = null;
for(int i = 0; i < MediaFileFilter.names.length; i++)
{
if(i == 0)
{
filter = new MediaFileFilter(MediaFileFilter.names[i]);
jFileChooser1.addChoosableFileFilter(filter);
} else
{
jFileChooser1.addChoosableFileFilter(new MediaFileFilter(MediaFileFilter.names[i]));
}
} jFileChooser1.setFileFilter(filter);
int i1=jFileChooser1.showOpenDialog(null);
if(i1==JFileChooser.APPROVE_OPTION )
{
System.out.println(jFileChooser1.getSelectedFile().toString());
}
if(i1==JFileChooser.CANCEL_OPTION)
{
System.out.println("没选择任何文件");
}
}
}
public void setFilenameFilter(FilenameFilter filter)将此文件对话框窗口的文件名过滤器设置为指定的过滤器。Microsoft Windows 的文件名过滤器在 Sun 的参考实现中不起作用。