我有一个 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/