import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.filechooser.FileNameExtensionFilter;
public class FileChooseDemo
{
JPanel panel ;
JFrame frame ;
JButton btn ;
int rs ;
public FileChooseDemo ()
{
frame = new JFrame () ;
panel = new JPanel () ;
btn = new JButton ("click") ;
btn.addActionListener(new ActionListener ()
{
@Override
public void actionPerformed(ActionEvent arg0)
{
// TODO Auto-generated method stub
JFileChooser jfc = new JFileChooser () ;
rs = jfc.showOpenDialog(frame) ;
FileNameExtensionFilter fnef = new FileNameExtensionFilter ("jpg,png","jpg","png") ;
jfc.addChoosableFileFilter(fnef) ;
if(rs == JFileChooser.APPROVE_OPTION)
{
System.out.println(jfc.getSelectedFile().getName()) ;
}
}
});
panel.add(btn) ;
frame.add(panel) ;
frame.setPreferredSize(new Dimension(100,100)) ;
frame.pack() ;
frame.setResizable(false) ;
frame.setLocationRelativeTo(null) ;
frame.setVisible (true) ;
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
new FileChooseDemo () ;
}
}
只要加上包名即可运行。我的目的是,只能选择jpg和png的文件,但是用的那个过滤器并没有过滤的效果,这是为什么呢?