簡體   English   中英

如何通過提供絕對路徑直接在Java Swing中生成文件樹?

[英]How to generate a File Tree in Java Swing directly by providing a absolute path?

我的要求是我的UI上有一個瀏覽按鈕。當我選擇一個目錄並按“打開”時,應使用所選路徑顯示樹結構。父目錄/根目錄將從我選擇的文件夾開始。

例如:如果我選擇c:/ mydocuments / myfiles,則樹的根將是myfiles,然后它將在樹中顯示其所有子級。

目前,JTree可以用於生成樹結構,但是為此,我們需要列出一個列表,然后將其提供給JTree。

在我的場景中,這變得很困難,因為每當路徑更改時,我需要生成列表。

所以我想知道在Java中我們有沒有像jqueryfiletree這樣的東西,它采用絕對路徑並自動生成樹。

您無需列出清單。 您應該只具有可以基於文件路徑生成TreeModel的代碼。

而且該代碼可在Internet上的許多位置使用。 例如,在此Sun JTree文章中

另一個很好的例子是Andrew Thompson的“文件瀏覽器GUI” ,他也在該站點上處於活動狀態

這是一個最小的工作代碼示例:

public class FileTree extends JTree
{   
   public FileTree(String path)
   {
      super(scan(new File(path)));
   }

   private static MutableTreeNode scan(File node)
   {
      DefaultMutableTreeNode ret = new DefaultMutableTreeNode(node.getName());
      if (node.isDirectory())
         for (File child: node.listFiles())
            ret.add(scan(child));
      return ret;
   }
}

暫無
暫無

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

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