繁体   English   中英

必须调整Jtree的大小以重新绘制所选节点

[英]Jtree must be resized to repaint the selected node

我有一个带有自定义TreeModel(实现TreeModel的类)的JTree。 该树正常工作,除了一件奇怪的事情:当我单击节点或使用箭头键四处移动时,树不会重新粉刷选定的节点(新选定的节点周围没有边框),并且先前的选择消失了。 节点也被绘制为正常高度的两倍。 首先,我认为树没有响应用户的输入,后来我发现调整窗口大小(导致重新绘制)后,树可以正确反映更改。

这种行为可能是什么原因?

对不起,问题解决了。 问题出在TreeModel中:向父级添加子级会导致添加子级以及父级本身,因此JTree出现了重新绘制问题。 我错误地实现了添加子节点的方法。

在TreeModel的文档中,有一条明显的提示:“ ...如果不满足此条件,则可能导致绘画问题和其他异常情况。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM