小编cod*_*r77的帖子

JFileChooser 在过滤器中添加不同的文件类型

我有一个JFileChooser,我想在类型中提供不同的选项来更改扩展名。我想要的选项是

  • 。文本
  • .html
  • .xml

现在我有:

    JFileChooser chooser = new WritableFileChooser(Model.getSingleton().getOptionsParam().getUserDirectory());

    chooser.setFileFilter(new FileFilter()
    {

        @Override
        public boolean accept(File file)
        {
            if (file.isDirectory())
            {
                return true;
            }
            else if (file.isFile())
            {
                String lcFileName = file.getName().toLowerCase(Locale.ROOT);
                return (lcFileName.endsWith(TXT_FILE_EXTENSION) || lcFileName.endsWith(HTML_FILE_EXTENSION) || lcFileName.endsWith(XML_FILE_EXTENSION)                                          }
            return false;
        }

        @Override
        public String getDescription()
        {
            return Constant.messages.getString("file.format.html");
        }
Run Code Online (Sandbox Code Playgroud)

但在文件类型过滤器中只有所有文件和 HTML 可用。理想情况下,我也想摆脱所有文件选项。

此外,我有两种不同格式的 .html 要生成,是否有任何指标可以添加,以便文件选择器足够聪明,可以知道我想要哪个?

java jfilechooser

2
推荐指数
1
解决办法
3707
查看次数

不同类型的for循环

我有两种类型的for循环,fileList在这种情况下只是一个扩展的自定义类AbstractList<Object>

1)对于循环迭代索引:

public String getExtensionByDescription(String description)
{
    for (int i = 0; i < fileList.size(); i++)
        if (description.contains(fileList.get(i).getDescription()))
            return fileList.get(i).getExtension();
}
Run Code Online (Sandbox Code Playgroud)

2)对于按列表中的项目循环迭代:

public String getExtensionByDescription(String description)
{
    for (FileType obj : fileList)
        if (description.contains(obj.getDescription()))
            return obj.getExtension();
}
Run Code Online (Sandbox Code Playgroud)

方法1)和2)逻辑上是相同还是否?因为1)返回我期望的值,但方法2)返回错误的值.谢谢您的帮助!

使用各种其他get方法实现list.

public class FileList extends AbstractList<Object>
{
    private ArrayList<FileType> fileList;

    public FileList()
    {
        fileList = new ArrayList<FileType>();
    }

    public void add(String search, String type, String extension, String description, String htmlicon)
    {

        FileType data = new FileType(fileList.size(), search, …
Run Code Online (Sandbox Code Playgroud)

java for-loop

0
推荐指数
1
解决办法
108
查看次数

标签 统计

java ×2

for-loop ×1

jfilechooser ×1