簡體   English   中英

JFileChooser和“詳細信息視圖”

[英]JFileChooser and the “Details View”

使用JFileChooser時,有一個“詳細信息視圖”按鈕。 每個文件顯示5條信息。 圖標,名稱,大小,類型和“修改日期”。 什么類控制'類型'值? 使用類'FileView',可以控制圖標和名稱。 使用“文件”類,可以控制“大小”和“修改日期”。 類型描述非常好,我想在其他地方使用它們,我也有一些“新”類型,我希望能夠給出“類型”描述。

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)。

我認為在Java中覆蓋類型信息所要做的就是使用自己的FileSystemView子類實例化JFileChooser。

  • 子類FileSystemView到MyFileSystemView

  • 覆蓋getSystemTypeDescription(文件f)

  • 在你的特殊文件類型的重寫中返回你想要的任何東西,並通過使用超級調用返回值來返回默認值,否則返回默認值

  • 使用以下原型之一實例化FileChoosers,將自定義MyFileSystemView作為第二個參數

JFileChooser(File currentDirectory,FileSystemView fsv)

JFileChooser(String currentDirectoryPath,FileSystemView fsv)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM