使用JFileChooser时,会出现“详细信息视图”按钮。 每个文件显示5条信息。 图标,名称,大小,类型和“修改日期”。 什么类控制'类型'值? 使用类'FileView',可以控制图标和名称。 使用“文件”类,可以控制“大小”和“修改日期”。 类型描述非常好,我想在其他地方使用它们,我也有一些“新”类型,我希望能够给出一个 “输入”描述为。
答案 0 :(得分:1)
FileView>>getTypeDescription()
这是你在找什么?
答案 1 :(得分:0)
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.*;
public class A {
public static void main(String[] args) {
File f = new File("f.jpg");
JFileChooser j = new JFileChooser();
System.out.println(j.getTypeDescription(f));
}
}
输出在我的系统上:
F:> javac A.java
F:> java A
IrfanView JPG文件
这是因为我的系统上安装了IrfanView; JFileChooser / FileView>> getTypeDescription()查询系统(在我的情况下是Windows)以获取此信息。要“添加您自己的描述”,您可以(例如 camickr 表示)覆盖getTypeDescription(),或者您可以将其添加到您的系统中(如果是HKEY_CLASSES_ROOT下的注册表中的Windows)。
答案 2 :(得分:0)
我认为在Java中覆盖类型信息所要做的就是使用自己的FileSystemView子类实例化JFileChooser。
将FileSystemView子类化为MyFileSystemView
覆盖getSystemTypeDescription(文件f)
在您的特殊文件类型的覆盖中返回您想要的任何内容,并通过使用超级调用返回值来返回默认值,否则
使用以下原型之一实例化FileChoosers,将自定义MyFileSystemView作为第二个参数
JFileChooser(File currentDirectory,FileSystemView fsv)
JFileChooser(String currentDirectoryPath,FileSystemView fsv)