检查javaui中的组件层次结构

检查javaui中的组件层次结构,java,user-interface,swing,Java,User Interface,Swing,我们有一个非常大的JavaSwing桌面应用程序,包含大量视图。多年来,开发人员在选择适当的类位置方面做得相当好,这些类位置反映了这些视图的UI的一般结构。在大多数情况下,这对于跟踪具有需要处理的bug的特定组件非常有帮助。然而,在某些情况下,找到面板、对话框等相当痛苦。它通常涉及到在属性文件中搜索UI中出现的唯一字符串序列 有人知道有第三方工具允许开发人员连接到Swing应用程序并单击UI的某个区域以显示所单击组件的名称/包/层次结构吗?有一些东西正是您在SwingX演示中所寻找的。JXTre

我们有一个非常大的JavaSwing桌面应用程序,包含大量视图。多年来,开发人员在选择适当的类位置方面做得相当好,这些类位置反映了这些视图的UI的一般结构。在大多数情况下,这对于跟踪具有需要处理的bug的特定组件非常有帮助。然而,在某些情况下,找到面板、对话框等相当痛苦。它通常涉及到在属性文件中搜索UI中出现的唯一字符串序列


有人知道有第三方工具允许开发人员连接到Swing应用程序并单击UI的某个区域以显示所单击组件的名称/包/层次结构吗?

有一些东西正是您在SwingX演示中所寻找的。JXTreeTable演示包含组件层次结构的树,当鼠标在特定组件上滚动时,它将在表中被选中

你可以看看

是实现这一点的完美工具。它完成了您所描述的,甚至更多(逐步绘制Java2D、EDT冲突、AWT事件)

有人知道有第三方工具允许开发人员挂接到Swing应用程序并单击UI的某个区域以显示所单击组件的名称/包/层次结构吗


Darryl's应该为您提供这些基本信息。演示演示了如何使用根窗格作为查看所有组件的容器。您需要在应用程序中添加鼠标侦听器,以获取单击的容器,以便显示组件树。

我自己都不敢相信,但这可能非常简单:

SwingUtilities.getRoot(...).list()
列表方法从1.0开始存在。哈哈