1

JTreeを使用してファイルツリーを作成しましたが、現在はより効率的にしようとしています。遅延読み込みを実装しようとしていますが、次のレイヤーを展開するために、ノードにどのファイルであるかを認識させることができません。私は彼らに彼らのレベルのファイル名のリストに対して彼らの名前をチェックさせようとしました、そして何らかの理由でそれはうまくいきません。それはとにかく長期的には機能しません。また、ファイル自体をノードコンテンツとして設定しようとしましたが、それでもファイルとして認識されません。

単純なものが欠けていることは確かですが、それがどうなるかはわかりません。探し回っていますが、何も見つかりませんでした。誰かが私がこれを理解するのを手伝ってもらえますか?

4

2 に答える 2

1

DefaultMutableTreeNode任意の「ユーザーオブジェクト」を関連付けることができます。この場合は、Fileそれが表す可能性があります。例えば:

File file = new File("data.txt");
DefaultMutableTreeNode node = new DefaultMutableTreeNode(file);

次に、にを追加しTreeSelectionListenerJTree選択したものに問い合わせてDefaultMutableTreeNodeそのを取得しFile、それがディレクトリを表すかファイルを表すかに基づいて適切なアクションを実行する必要があります。

于 2011-11-16T22:59:15.430 に答える
1

TreeWillExpandListenerを使用して遅延ツリーの読み込みを実装するのではなく。必要なときにファイルを調べるだけのカスタムツリーモデルを使用するだけです。これを行う既存のFileTreeModelの良い例は、ここにあります。

于 2011-11-16T23:04:40.823 に答える