过滤器在FileDialog中不起作用 [英] Filter not working in FileDialog

查看:168
本文介绍了过滤器在FileDialog中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须用FileDialog替换JFileChooser.我无法过滤出文件.以下是代码.过滤器在保存文件对话框"上也不可见,用户也可以使用其他扩展名保存文件.环境是Windows 10

I have to replace JFileChooser with FileDialog. I could not Filter out the file. Following is the code. The filter is also not visible on the Save FileDialog and also user is able to save the file file with different ext. The environment is windows 10

public class ABCDialog extends JDialog {

private String fileName = StringUtils.Empty;

public ABCDialog (Frame frame,String title) {
    super(frame, title);
    .....
}

public String getFileName () {
    return fileName;
}

private String setFileName () {
    FileDialog file = new FileDialog(new Frame(), "Save File...", FileDialog.SAVE);
    final FilenameFilter filenameFilter = (dir, name) -> name.endsWith(".txt");

    file.setFilenameFilter(filenameFilter);
    file.setFile("*.txt");
    file.setVisible(true);
    return (file.getDirectory() + file.getFile());
}

@Override
public void setVisible(boolean visible) {
    ....
    fileName = setFileName();
}

}

推荐答案

根据

According to the FileDialog#setFilenameFilter JavaDoc:

文件名过滤器在Sun的Microsoft Windows参考实现中不起作用.

Filename filters do not function in Sun's reference implementation for Microsoft Windows.

所以这是预期的行为.

这篇关于过滤器在FileDialog中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆