このようなファイルシステムのビューが必要です。フレックス - ファイルシステムのツリーのような表示方法?
folder_name
|_sub_folder1
| |_file1
| |_file2
|_sub_folder2
|_file1
あなたのコメントをください。
このようなファイルシステムのビューが必要です。フレックス - ファイルシステムのツリーのような表示方法?
folder_name
|_sub_folder1
| |_file1
| |_file2
|_sub_folder2
|_file1
あなたのコメントをください。
あなたの質問には何が関係していますか?
あなたは既にこの質問をして、あなたの答えを得ました:ツリーを使用してください。さらに、構造を処理(実行)するか、メモリに格納するか、またはツリーを視覚的に表示するかどうかは指定しないでください。
Node
にList
があるNode
のノードベースのツリーを作成します。各ノードの値は、ファイル名を含むString
です。以下は例です。もう少し使えるものを考えてみることをお勧めします。 JTree APIまたはDOM APIを使用できますが、メモリフットプリントがはるかに小さいため、ゼロからツリーを作成することをお勧めします。
import java.util.ArrayList;
import java.util.List;
public class TreeTest {
public static void main(String[] args) {
Tree<String> t = new Tree<>();
Tree.Node<String> usr = new Tree.Node<>("/usr");
Tree.Node<String> home = new Tree.Node<>("/home");
Tree.Node<String> share = new Tree.Node<>("/share");
Tree.Node<String> docs = new Tree.Node<>("/documents");
t.root = new Tree.Node<>("/");
t.root.children.add(usr);
t.root.children.add(home);
usr.children.add(share);
home.children.add(docs);
}
}
class Tree<T> {
Node<T> root;
static class Node<T> {
T file;
List<Node<T>> children = new ArrayList<>();
Node(T file) {
this.file = file;
}
}
}
ありがとうございましたが、このコードは正しく機能していません。これは、 "t.root.children.add(usr);行でNullPointerExceptionをスローします。親切に私に適切な解決策を返信してください。私はあなたに感謝します。 –
@Muhammad:コードを更新しました。 – blackcompe
まず、ブラウザのFlexではファイルシステム情報にアクセスできませんが、AIRプロジェクトではファイルとディレクトリにアクセスできます。
ツリーを作成しようとしているだけの場合は、フレックスツリーコントロールがサブノードを表示するために自動的に使用する配列プロパティ "children"を使用して、独自のオブジェクトを作成するのが最も簡単です。
ので:
<mx:Tree id="treeProducts" labelField="productName"
dataProvider="{_productList}">
</mx:Tree>
:
[Bindable]
var _productList:ArrayCollection;
とそれぞれには、あなたが_productListに入れオブジェクトを、それが必要:
tmpObject.children = new ArrayCollection();
は、このJavaサーバである - のFlexクライアントアプリケーション・ブリッジ?または(Androidのような)Javaフレームワークの上で動作するFlex(AIR)アプリケーションですか? –