3

UIに参照ボタンがあることが要件です。ディレクトリを選択して[開く]を押すと、選択したパスを使用してツリー構造が表示されます。親/ルートディレクトリは、選択したフォルダから開始されます。

例:c:/ mydocuments / myfilesを選択すると、ツリーのルートはmyfilesになり、ツリー内のすべての子が表示されます。

現在、ブランコではJTreeを使用してツリー構造を生成できますが、これを行うには、リストを作成してJTreeに提供する必要があります。

私のシナリオでは、パスが変更された瞬間にリストを生成する必要があるたびに、困難になります。

だから私はJavaに絶対パスを取り、ツリーを自動的に生成するjqueryfiletreeのようなものがあることを知りたいです。

4

2 に答える 2

6

リストを作成する必要はありません。TreeModelファイル パスに基づいてを生成できるコードが必要です。

そして、そのコードはインターネット上の多くの場所で入手できます。たとえば、このSunJTreeの記事では

もう 1 つの良い例は、このサイトでも活動している Andrew Thompsonの 'File Browser GUI'です。

于 2012-07-09T10:05:16.410 に答える
4

最小限の作業コード サンプルを次に示します。

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;
   }
}
于 2013-07-18T20:00:06.447 に答える