import java.awt.Button;
import java.awt.FileDialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.*;
import java.io.File;
public class Myfiledialog implements ActionListener{
    private Frame frame;
    private FileDialog f1,f2;
    private Button button1,button2;
    private MyFilter myfilter;
    private File[] files;
    private String fpath;
    private String fname;
    
       public void f1(){
     frame=new Frame("打开保存对话框");
     button1=new Button("打开");
     button2=new Button("保存");
     button1.addActionListener(this);
     button2.addActionListener(this);
     frame.setLayout(new FlowLayout());
     frame.setBounds(100, 100, 200, 200);
     frame.add(button1);
     frame.add(button2);
     f1=new FileDialog(frame, "打开文件", FileDialog.LOAD);
        f2=new FileDialog(frame,"保存文件",FileDialog.SAVE);
        myfilter=new MyFilter();
      f1.setFilenameFilter(myfilter);
      f2.setFilenameFilter(myfilter);
     frame.setVisible(true);
     frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});  
    
       
    }
  

public static void main(String[] args) {

new Myfiledialog().f1();
} public void actionPerformed(ActionEvent e) {
String s=e.getActionCommand();

if (s.equals("打开")){

f1.setVisible(true);


}
else if(s.equals("保存"))
f2.setVisible(true);

}

}import java.io.File;
import java.io.FilenameFilter;public class MyFilter implements FilenameFilter{
private String[] extension;   
public MyFilter(){
extension = new String[]{".jpg"};
}
public MyFilter(String[] extension){
this.extension = extension;
}
public boolean accept(File dir,String name){
for(String s : extension){
if(name.endsWith(s)){
return true;
}
}
return  false; 
}
}