如何解决如何在 FileDialog 中设置文件类型过滤器
我需要在 File Dialog 中添加 JPG 和 PNG 文件的类型以添加到 Files of type 为了让用户只看到这两种类型的文件,这是我点击 GUI 形式的按钮后的代码。
jLabel2.setText("");
Frame frame = null;
FileDialog fd = new FileDialog(frame,"Select Cover Photo");
fd.setAlwaysOnTop(true);
fd.setVisible(true);
if (fd.getFile() != null) {
String path = new File(fd.getDirectory(),fd.getFile()).getAbsolutePath();
if (new File(path).length() / 1024 > 1536) {
JOptionPane.showMessageDialog(null,"picture size can't mor than 1.5 MG");
}
else {
System.out.println(path);
jLabel2.setText(path);
fd.dispose();
System.out.println("size= " + new File(path).length() / 1024 + " KB");
}
} else {
System.out.println("No Data");
fd.dispose();
}
我已经用这种方法在选择之前查看照片。请注意照片。
解决方法
基本上您需要做的就是为您的 FileDialog
设置一个过滤器,您可以这样做:
fd.setFilenameFilter( (dir,name) -> name.endsWith(".jpeg") || name.endsWith(".png") );
但我建议使用 JFileChooser
,它具有更多功能。
例如,您可以通过以下方式添加多个文件过滤器:
FileChooser fileChooser = new FileChooser();
fileChooser.setInitialFileName("Your File");
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("Image 1","*.jpg"),new FileChooser.ExtensionFilter("Image 2","*.png"),);
- 链接到基于 AWT 的
FileDialog
的 API 文档。 - 链接到基于 Swing 的
JFileChooser
的 API 文档, - 指向基于 Java-FX 的 API 文档的链接
FileChooser
。
将 Java-FX 组件集成到基于 Swing 的应用程序中需要特殊处理,因为每个组件使用不同的线程。所以也必须考虑到这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。