当我三次点击JTree节点时,为什么没有选择或编辑文本?

时间:2011-05-23 20:47:07

标签: java swing jtree

我已将JTree配置为可编辑。当我三次点击节点以编辑基础文本字段时,它会被绘制但文本未被选中且不可编辑。我可以成功编辑节点的唯一方法是导航到另一个应用程序,然后返回到Java框架。就像第一次尝试编辑文本字段时没有正确接收焦点一样。

有谁知道为什么我会看到这种行为? JTree已启用拖放功能,并且还添加了MouseListener以处理弹出菜单。这些与编辑/焦点有什么冲突吗?

我使用最新的Java 6u25 JDK在Fedora 14上运行。

2 个答案:

答案 0 :(得分:1)

  

JTree已启用拖放功能,并且还添加了MouseListener以处理弹出菜单。这些与编辑/焦点有什么冲突吗?

删除该代码,看看会发生什么!

这就是创建SSCCE的重点。从JDK的基本代码开始,看看它是如何工作的。然后,假设它正在工作,您添加自定义代码。当它停止工作时,你已经隔离了问题所在,然后我们可以提供帮助。

答案 1 :(得分:0)

我找到了问题的原因。

我的应用程序有一个登录框架,在打开主框架时会隐藏该框架。登录框中的错误意味着即使框架已被隐藏,文本字段也会窃取焦点。这导致JTree上的文本字段出现问题,使焦点集中在编辑上。