4

JFileChooser を使用する場合、「詳細ビュー」ボタンがあります。ファイルごとに 5 つの情報が表示されます。アイコン、名前、サイズ、タイプ、および「更新日」。「Type」値を制御するクラスは何ですか? クラス「FileView」を使用して、アイコンと名前を制御できます。クラス「ファイル」を使用して、サイズと「更新日」を制御できます。タイプの説明は非常に優れており、他の場所で使用したいと考えています。また、「タイプ」の説明を付けたい「新しい」タイプもいくつかあります。

4

3 に答える 3

1
FileView>>getTypeDescription()

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/filechooser/FileView.html#getTypeDescription%28java.io.File%29

これはあなたが探しているものですか?

于 2011-03-07T15:14:43.907 に答える
0

Javaで型情報をオーバーライドするために必要なことは、FileSystemViewの独自のサブクラスを使用してJFileChooserをインスタンス化することだと思います。

  • FileSystemViewをMyFileSystemViewにサブクラス化します

  • getSystemTypeDescription(File f)をオーバーライドします

  • 特別なファイルタイプのオーバーライドでは、必要なものを返し、スーパーコールを使用して値を返すことでデフォルト値を返します。

  • 次のプロトタイプのいずれかを使用してFileChoosersをインスタンス化し、カスタムMyFileSystemViewを2番目の引数として指定します

JFileChooser(File currentDirectory、FileSystemView fsv)

JFileChooser(String currentDirectoryPath、FileSystemView fsv)

于 2011-03-07T22:29:55.077 に答える
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() をオーバーライドするか、システムに追加することができます (Windows の場合は HKEY_CLASSES_ROOT の下のレジストリに)。

于 2011-03-07T16:35:21.413 に答える