getLastSelectedPathComponent()第一次选择节点返回空值,更换一个节点后工作正常。

afeiwyk 2018-05-13 10:11:52
遇到了一个非常莫名奇妙的问题,在jtree当中选择了一个节点以后,返回的是空值,如果不更换节点就一直是空值,更换一个节点以后工作正常,也就是说无论我选择哪个节点第一次运行都默认这个节点为空。
代码如下:
public void Treemassage()
{
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {

DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
if(treeNode ==null)
{return;}
else
{
a1=treeNode.toString();

}

DefaultMutableTreeNode parent1 = (DefaultMutableTreeNode) treeNode.getParent();
if(parent1 ==null)
{return;}
else
{
a2=parent1.toString();
}


DefaultMutableTreeNode parent2 = (DefaultMutableTreeNode) parent1.getParent();
if(parent2 ==null)
{return;}
else
{
a3=parent2.toString();
}


DefaultMutableTreeNode parent3 = (DefaultMutableTreeNode) parent2.getParent();
if(parent3 ==null)
{return;}
else
{
a4=parent3.toString();
}


DefaultMutableTreeNode parent4 = (DefaultMutableTreeNode) parent3.getParent();
if(parent4 ==null)
{return;}
else

{
a5=parent4.toString();
}

DefaultMutableTreeNode parent5 = (DefaultMutableTreeNode) parent4.getParent();
if(parent5 ==null)
{return;}
else
{
a6=parent5.toString();
}
DefaultMutableTreeNode parent6 = (DefaultMutableTreeNode) parent5.getParent();
if(parent6 ==null)
{return;}
else
{
a7=parent5.toString();
}
}
});
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
System.out.println(a4);
System.out.println(a5);
System.out.println(a6);
System.out.println(a7);
}
...全文
982 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧