我想从我的代码中选择JTree中的一个节点。我正在调用setSelectionPath方法,但是什么也没有发生。我的代码出了什么问题?
public class test extends JFrame {
private static DefaultMutableTreeNode root, light, medium, dark, whiteNode;
private static JTree tree;
public static void main(String[] args){
new test();
tree.setSelectionPath(new TreePath(whiteNode.getPath()));
}
public test(){
root = new DefaultMutableTreeNode("colors");
tree = new JTree(root);
light = addFile("light", root);
medium = addFile("medium", root);
dark = addFile("dark", root);
//Add leaf nodes to light
whiteNode = addFile("white", light);
//Add leaf nodes to medium
addFile("green", medium);
addFile("yellow", light);
addFile("orange", light);
addFile("violet", light);
this.getContentPane().add(tree);
this.setVisible(true);
this.validate();
this.validateTree();
}
private DefaultMutableTreeNode addFile(String fname, DefaultMutableTreeNode parentFolder){
DefaultMutableTreeNode newFile = new DefaultMutableTreeNode(fname);
parentFolder.add(newFile);
return newFile;
}}
提前感谢
发布于 2013-11-19 09:20:04
此语句中构造函数使用的引用
TreePath t = new TreePath("colors, light, white");需要引用最后一个路径组件,并且应该是TreePath类型而不是String类型
tree.setSelectionPath(new TreePath(whiteNode.getPath()));分配whiteNode的位置
whiteNode = addFile("white", light);阅读:How to Use Trees
https://stackoverflow.com/questions/20060997
复制相似问题