ファイルをハイライトしたいJTreeを作成しました。ファイルを含むディレクトリが見えない場合は、展開する必要があります。JTreeでファイルをハイライトできません
例: ルートノード-D:/ Company/abb/srcを使用してJTreeを作成しました。 ハイライトしたいファイルは-D:/Company/abb/src/bin/help.txt
ファイルhelp.txtを強調表示するロジックを教えてください。
ありがとうございます。
ファイルをハイライトしたいJTreeを作成しました。ファイルを含むディレクトリが見えない場合は、展開する必要があります。JTreeでファイルをハイライトできません
例: ルートノード-D:/ Company/abb/srcを使用してJTreeを作成しました。 ハイライトしたいファイルは-D:/Company/abb/src/bin/help.txt
ファイルhelp.txtを強調表示するロジックを教えてください。
ありがとうございます。
JTreeです。 makeVisible()が必要です。
ファイルシステムを表すJTreeがあります。特定のディレクトリを選択させるためのコードです(ツリーが展開され、必要に応じてビューがスクロールされます)。
JTree fsTree;
void setSelectedPath(String pth) {
TreePath jtp=buildTreePath(new File(pth));
fsTree.setSelectionPath(jtp);
if(fsTree.getSelectionPath()==null) { fsTree.setSelectionRow(0); }
else { fsTree.scrollPathToVisible(jtp); }
}
public TreePath buildTreePath(File dir) {
ArrayList elms=new ArrayList();
do { elms.add(0,dir); } while((dir=dir.getParentFile())!=null);
elms.add(0,root);
return new TreePath(elms.toArray(new File[elms.size()]));
}
JTreeのモデルによって異なります。 TreePathを構築するには、パスを構成する単一のコンポーネントを指定します。ドキュメントを確認してください。 – Bombe
私は、TreePathを構築するための例を教えてくれますか? 私はDefaultTreeModelを使用しています。 それは私をたくさん助けます。 – user77130
AFAIKでは、この種の機能用に独自のモデルを作成する必要があります。 –