Java JTree:如何获取所选节点的路径
有没有一种方法可以像使用Java JTree:如何获取所选节点的路径,java,swing,jtree,Java,Swing,Jtree,有没有一种方法可以像使用 String pathForNode = JTree.getLastSelectedPathComponent().getPath().toString(); 编辑: 试一试 我用了这个: jTreeVarSelectedPath = ""; Object[] paths = jTreeDirectorios.getSelectionPath().getPath(); for (int i=0; i<paths.length; i++)
String pathForNode = JTree.getLastSelectedPathComponent().getPath().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;
}
}
jTreeVarSelectedPath=”“;
Object[]path=jTreeDirectorios.getSelectionPath().getPath();
对于(int i=0;i
tree.addTreeSelectionListener(新建TreeSelectionListener()){
公共作废值已更改(TreeSelection事件e){
TreePath TreePath=e.getPath();
System.out.println(“Java:+treepath.getLastPathComponent());
对象元素[]=treepath.getPath();
for(int i=0,n=elements.length;i”+元素[i]);
//showMessageDialog(null,“->”+元素[i]);
//lblNewLabel.setText(“>”+元素[i]);
值+=元素[i]+“\\”;
}
//字符串x=字符串.valueOf(值);
//lblNewLabel.setText(String.valueOf(value));
showMessageDialog(null,值);
//系统输出打印项次(值);
}
});
静态字符串值=”;//在void主函数之前添加此值
在C#.net中,获取路径通常很简单,对我来说也有点直观。这似乎只适用于我在JTree上的第一次单击,这不适用于其余的单击…你知道为什么吗?如果你重新初始化了树,这将只起作用一次。请随意发布代码。另请参阅。谢谢你。我这就是我讨厌JTree的原因。方法getPath()
和getPath().toString()
应该可以做到这一点。。。
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;
}
}
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
TreePath treepath = e.getPath();
System.out.println("Java: " + treepath.getLastPathComponent());
Object elements[] = treepath.getPath();
for (int i = 0, n = elements.length; i < n; i++) {
System.out.print("->" + elements[i]);
// JOptionPane.showMessageDialog(null,"->"+elements[i]);
//lblNewLabel.setText(">"+ elements[i]);
value+=elements[i]+"\\";
}
//String x=String.valueOf(value);
//lblNewLabel.setText(String.valueOf(value));
JOptionPane.showMessageDialog(null, value);
//System.out.println(value);
}
});
static String value=""; //add this just before the void main function