我们有一个非常大的Java Swing桌面应用程序,包含大量的视图。多年来,开发人员在选择适当的类位置方面做得相当不错,这些位置反映了这些视图的UI的一般结构。大多数情况下,这对于跟踪具有需要趋势的错误的特定组件非常有用。但是,在某些情况下,查找面板,对话框等非常痛苦。它通常涉及在我们的属性文件中搜索UI中出现的唯一字符串序列。
是否有人知道第三方工具允许开发人员挂钩到Swing应用程序并单击UI的某个区域以显示所单击组件的名称/包/层次结构?
答案 0 :(得分:4)
SwingExplorer是完美的工具。它完成了您所描述的内容,甚至更多内容(逐步绘制Java2D,EDT违规,AWT事件)。
注意:项目正在转移到java.net。
答案 1 :(得分:3)
有没有人知道第三方工具允许开发人员挂钩到Swing应用程序并单击UI的某个区域以显示所单击组件的名称/包/层次结构
Darryl的Component Tree Model应该为您提供这些基本信息。该演示展示了如何使用根窗格作为查看所有组件的容器。您需要将MouseListener添加到应用程序以获取单击的Container,以便显示组件树。
答案 2 :(得分:1)
在SwingX Demo中有一些正在寻找你正在寻找的东西。 JXTreeTable演示包含组件层次结构的树,当鼠标滑过特定组件时,它在表中被选中。
您可以查看here
答案 3 :(得分:0)
不能自己相信,但它可能真的很容易:
SwingUtilities.getRoot(...).list()
自1.0以来,list方法一直存在。洛尔。