java - JFileChooser 将只选择 java 支持的图像文件格式

标签 java swing

我打算开发一个项目,我只需要选择 java 支持的图像文件格式来进行进一步的图像处理。任何人都可以建议我如何做到这一点..

我已经知道以下将选择 .bmp 文件格式的代码..

    JFileChooser fileOpen = new JFileChooser();
    FileFilter filter = new FileNameExtensionFilter("bmp files", "bmp");
    fileOpen.addChoosableFileFilter(filter);
    int ret = fileOpen.showDialog(null, "Open file");
    if (ret == JFileChooser.APPROVE_OPTION) {

    } else {

    }

最佳答案

您可以使用 getReaderFileSuffixes javax.imageio.ImageIO 类的方法获取可用文件扩展名的数组。

import javax.imageio.*;

...

JFileChooser fileOpen = new JFileChooser();

// Get array of available formats
String[] suffices = ImageIO.getReaderFileSuffixes();

// Add a file filter for each one
for (int i = 0; i < suffices.length; i++) {
    FileFilter filter = new FileNameExtensionFilter(suffices[i] + " files", suffices[i]);
    fileOpen.addChoosableFileFilter(filter);
}

// Show dialog
int ret = fileOpen.showDialog(null, "Open file");

关于java - JFileChooser 将只选择 java 支持的图像文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16303868/

相关文章:

java - 我需要有关“Deal or no Deal”Java 游戏的帮助

java - JProgressBar.setMaximum(int) 有时似乎不起作用

java - 平台碰撞和跳跃的奇怪行为

java - 在 JPanel 内绘画

Java - 当代理方法返回类型为 Future 时出现异常

java - 如何在 Java EE 应用程序中锁定数据库记录?

java - EL 和 HashMap 以及名称中的点

java - 如何下载javadocs?

Java邮件API连接存储在本地服务器但未连接到开发服务器

java - JOptionPane 对话框未打开(JOptionPane.showMessageDialog(null ,"File Recieved Sucessfully"))