我不得不再问一遍......我不知道自己做错了什么。
我有一棵"树"对于我的文件,它正在工作,并显示我的驱动器的文件夹。
现在我想用一个监听器获取所选文件夹的路径,并将/ get-methods设置为另一个类。
我的听众看起来像:
TreeSelectionListener treeSelectionListener = new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent tse){
DefaultMutableTreeNode node =
(DefaultMutableTreeNode)tse.getPath().getLastPathComponent();
showChildren(node);
setFileDetails((File)node.getUserObject());
if(node != null)
//System.out.println("Test" + node);
setSelectedNode(NodeForMain);
//NodeForMain = node;
//System.out.println("GetNode" + getSelectedNode());
}
};
我的get和set方法如下:
public void setSelectedNode(DefaultMutableTreeNode node) {
NodeForMain = node;
//System.out.println("String:" + NodeForMain.toString());
System.out.println("Set:" + NodeForMain);
}
public DefaultMutableTreeNode getSelectedNode() {
System.out.println("Get"+ NodeForMain);
return NodeForMain;
}
所以,如果我用" system.out.println(..)"显示节点。在树的类中,它向我显示正确的路径。
但如果我要在另一个类中显示get方法的路径,它会显示我" null"。
DefaultMutableTreeNode node = FileBrowser.getSelectedNode();
System.out.println("Knoten:" + node);
我不知道,我做错了什么..希望它有足够的代码来理解。