当前位置: 首页 > 知识库问答 >
问题:

如何在FileDialog中设置文件类型筛选

穆飞星
2023-03-14
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();
}

我已经用这个方法在选择之前查看照片了。请注意照片。

共有1个答案

李浩邈
2023-03-14

基本上,您需要做的只是在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"),
        );
  1. 链接到基于AWT的文件对话框的API文档。
  2. 链接到基于Swing的JFileChooser的API文档,
  3. 链接到基于Java-FX的文件回声器的API文档。
 类似资料:
  • 问题内容: 从Node.js服务器向浏览器发送脚本时,在Google Chrome浏览器中,出现以下警告: 资源被解释为脚本,但以MIME类型文本/纯文本传输 我用Google搜索了一下,发现这是服务器端的问题,也就是说,我认为在发送事物之前,我应该为事物设置正确的MIME类型。这是HTTP服务器的处理程序: 问题: 如何更正服务器端代码以正确配置MIME类型? (注意:我已经找到https://

  • 为了回答超级用户的这个问题,我写了一个小的vimscript,它将检测符号链接的文件类型并改变语法高亮显示: au BufNewFile,BufRead * if 因此,如果我打开一个没有扩展名的符号链接,它将查看它指向的文件的扩展名。 它起作用了,但一个意想不到的后果是现在我的文件的语法高亮显示消失了。默认情况下,我的. vimrc文件具有vim语法高亮显示(

  • 问题内容: CREATE TABLE IF NOT EXISTS ( int(30) NOT NULL, text NOT NULL, text NOT NULL, text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 这里的“ te”表由4个字段组成,分别是id,名称,地址,Aboutus,Aboutus是可选的,这意味着我如何通过phpmy

  • 问题内容: 这个问题似乎让人难以置信,但我无法弄清楚。我知道您可以在python中检查数据类型,但是如何根据数据类型设置条件呢?例如,如果我必须编写一个对字典/列表进行排序并将所有整数加起来的代码,那么如何隔离搜索以仅查找整数? 我想一个简单的例子看起来像这样: 那么对于第3行,我将如何设置这样的条件? 问题答案: 怎么样, 但更干净的方法就是

  • 我学习打字稿。我想设置组件功能道具类型。但我不知道如何设置。 这是代码。 我不想设置“任何”。我设置了什么类型?

  • 这里已经回答了如何设置选项卡大小。 但是如何对不同的文件类型进行不同的设置呢?例如,我希望HTMLs的标签大小为2,但其他文件的标签大小为4。