//filechooser的过滤器,这里假设只打开txt
class TxtFilter extends javax.swing.filechooser.FileFilter{
public boolean accept(File f){
boolean accept = f.isDirectory();
if(!accept){
String suffix = getSuffix(f);
if(suffix!=null)
accept = suffix.equals("txt");
}
return accept;
}
public String getDescription(){
return "text (*.txt)";
}
private String getSuffix(File f){
String s = f.getPath(),suffix = null;
int i = s.lastIndexOf('.');
if(i>0&&i<s.length() -1)
suffix = s.substring(i+1).toLowerCase();
return suffix;
}
}
使用:
JFileChooser chooser = new JFileChooser();
chooser.addChoosableFileFilter(new TxtFilter());
class TxtFilter extends javax.swing.filechooser.FileFilter{
public boolean accept(File f){
boolean accept = f.isDirectory();
if(!accept){
String suffix = getSuffix(f);
if(suffix!=null)
accept = suffix.equals("txt");
}
return accept;
}
public String getDescription(){
return "text (*.txt)";
}
private String getSuffix(File f){
String s = f.getPath(),suffix = null;
int i = s.lastIndexOf('.');
if(i>0&&i<s.length() -1)
suffix = s.substring(i+1).toLowerCase();
return suffix;
}
}
使用:
JFileChooser chooser = new JFileChooser();
chooser.addChoosableFileFilter(new TxtFilter());
对不起,俺想问的是awt包里的 FileDialog 的文件类型如何设定;不是swing里的那个文件对话框. :)
class TXTFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return (name.endsWith(".txt"));
}
}
使用:
fileDialog.setFilenameFilter(new TXTFilter());
俺照着写的,还是不行~~ :(
俺照着写的,还是不行~~ :(