How to restrict file choosers in java to specific files

不羁的心 提交于 2019-12-04 01:02:48

For example, if you want to filter your JFileChooser to strictly display most commonly found image files, you would use something like this:

FileNameExtensionFilter filter = new FileNameExtensionFilter("Image Files", "jpg", "png", "gif", "jpeg");
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(filter);

The first argument is the description (what gets displayed upon selection at the bottom) and the second argument are the informal file extensions.

You can use FileNameExtensionFilter to add allowed extensions to your FileChooser dialog. Here's an example:

JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
    "JPG & GIF Images", "jpg", "gif");
chooser.setFileFilter(filter);

For more info, please refer to the Javadocs: FileNameExtensionFilter

Suma

This works fine in java8.1

JFileChooser dbfilechooser = new JFileChooser();
FileNameExtensionFilter filter1 = 
  new FileNameExtensionFilter("xls","xls");
FileNameExtensionFilter filter2 = 
  new FileNameExtensionFilter("xlsx", "xlsx");
FileNameExtensionFilter filter3 = 
  new FileNameExtensionFilter("csv", "csv");

dbfilechooser.addChoosableFileFilter(filter1);
dbfilechooser.addChoosableFileFilter(filter2);
dbfilechooser.addChoosableFileFilter(filter3);

In my case, I had to put the

setFileFilter(          
    new FileNameExtensionFilter("Default file filter", ...)
);

after all other calls to the method

addChoosableFileFilter(...);

to make setAcceptAllFileFilterUsed(false) works.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!