java - 我想限制用户可以使用 JFileChooser 选择的图像的尺寸

标签 java swing jfilechooser

我有一个 JFileChooser,可以让用户自己选择图像。我想将他们可以选择的图像限制为方形尺寸的图像,例如 -

宽度和高度均为 50

宽度和高度均为 75 等...

因此,当他们使用 JFileChooser 选择图像并单击“打开”时,我需要验证图像大小,如果它没有正方形尺寸,我需要向用户显示一个对话框,通知他们“图像必须具有相同的宽度和高度”。

我刚刚学习 swing,所以我不知道该怎么做。关于如何做到这一点有什么想法吗?有没有办法 Hook “打开”按钮的事件处理程序?

最佳答案

您可以通过实现FileFilter隐藏所有不符合规则的图像:

JFileChooser fileChooser = new JFileChooser(new File(filename));
fileChooser.addChoosableFileFilter(new MyFilter());

// Open file dialog.
fileChooser.showOpenDialog(frame);
openFile(fileChooser.getSelectedFile());

class MyFilter extends javax.swing.filechooser.FileFilter {
    public boolean accept(File file) {
        // load the image
        // check if it satisfies the criteria
        // return boolean result
    }
}

关于java - 我想限制用户可以使用 JFileChooser 选择的图像的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773624/

相关文章:

Java字计数器

java - 为什么要分解不包括 spring-boot-starter-logging 的日志文件?

java - 在java中获取自定义JPanel的深拷贝

java - 替代 Linux 上的 JFileChooser?

java - 在从 JTextArea 获取文本的文档中保存文件时如何修复新行

java - 我可以在 RecyclerView 中将 Cursor Adapter 与 GridView 一起使用吗

java - 谷歌地图v2 无法在我的 Android 应用程序中运行

java - 测试 Swing 应用

java - 通过代码 View 在 netbeans 中添加 JComponent

java - JFileChooser 未打开默认的 Win 7 文件资源管理器