次のようなものを使用するように、JTreeで選択されたノードの選択されたパスを取得する方法はありますか?
String pathForNode = JTree.getLastSelectedPathComponent().getPath().toString();
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
TreePath tp = e.getNewLeadSelectionPath();
if (tp != null) {
pathForNode = tp.getLastPathComponent();
}
}
});
http://www.coderanch.com/t/453540/GUI/java/Getting-path-file-selected-JTree
編集:
試す
tree.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
doMouseClicked(me);
}
});
}
void doMouseClicked(MouseEvent me) {
TreePath tp = tree.getPathForLocation(me.getX(), me.getY());
if (tp != null) {
System.out.println(tp.toString());
}
}
私はこれを使用しました:
jTreeVarSelectedPath = "";
Object[] paths = jTreeDirectorios.getSelectionPath().getPath();
for (int i=0; i<paths.length; i++) {
jTreeVarSelectedPath += paths[i];
if (i+1 <paths.length ) {
jTreeVarSelectedPath += File.separator;
}
}