java - 使用 JFileChooser 过滤文件类型

标签 java swing jfilechooser filefilter

我正在使用 JFileChooser 选择一个文件,并且我试图将显示限制为仅显示 jpg 或 jpeg 文件。我试过 FileFilter 和 ChoosableFileFilter,它不限制文件选择。这是我的代码:

JFileChooser chooser = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("JPEG file", new String[] {"jpg", "jpeg"});
chooser.setFileFilter(filter);
chooser.addChoosableFileFilter(filter);
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {
  debug.put("You chose to open this file: " + chooser.getSelectedFile().getAbsolutePath());
  File selectedFile = new File(chooser.getSelectedFile().getAbsolutePath());
...

最佳答案

试试这个:

import javax.swing.JFileChooser;


JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {

   public String getDescription() {
       return "JPG Images (*.jpg)";
   }

   public boolean accept(File f) {
       if (f.isDirectory()) {
           return true;
       } else {
           String filename = f.getName().toLowerCase();
           return filename.endsWith(".jpg") || filename.endsWith(".jpeg") ;
       }
   }
});

关于java - 使用 JFileChooser 过滤文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19302029/

相关文章:

java - 为什么应该使用 awt.Dimension 类?

Mac OS 上的 Java swing GUI TrayMenu 问题

java - 这个 JFileChooser 有什么问题

JAVA服务器和.Net客户端编程

java - Storm apache升级(1.0.0到2.0.0)

java - 使用近似方法实现 sqrt 方法。即使条件为假也无法退出循环

java - 如何在 EDT (Java Swing) 上运行“另存为”菜单

java - onPrepareOptionsMenu 的开关

java - Java Swing 中的 MouseListener 有时不响应

java - JFrame setTitle 不工作