使用反射显示对象名称和方法的工具提示?

时间:2013-07-19 09:12:34

标签: java swing debugging reflection tooltip

我想为我接手的程序的调试模式添加一个额外的功能。

我希望能够为GUI上的所有按钮,表格添加工具提示,以便它们在其中显示如下内容:

Class:  JButton
Name:   myShineyButton
Method: myShineyButtonActivateMethod

我知道使用反射的一般形式是这样的:

for(Fields bits: this.GetClass().getDeclaredFields){
    if(bits instanceof Component){
        String methodName = bits.getMethod().toString();
        ....
    }
}

但是,如何将工具提示添加到gui上的每个项目?

1 个答案:

答案 0 :(得分:2)

您可能需要查看aspect-oriented programming (AOP)工具,例如AspectJ。您可以从对其构造函数的调用中检查/修改对象after returning。作为一个具体示例,引用aspecthere会检测到所有EDT规则违规行为。可以找到更多示例here