我想为我接手的程序的调试模式添加一个额外的功能。
我希望能够为GUI上的所有按钮,表格添加工具提示,以便它们在其中显示如下内容:
Class: JButton
Name: myShineyButton
Method: myShineyButtonActivateMethod
我知道使用反射的一般形式是这样的:
for(Fields bits: this.GetClass().getDeclaredFields){
if(bits instanceof Component){
String methodName = bits.getMethod().toString();
....
}
}
但是,如何将工具提示添加到gui上的每个项目?
答案 0 :(得分:2)
您可能需要查看aspect-oriented programming (AOP)工具,例如AspectJ
。您可以从对其构造函数的调用中检查/修改对象after returning。作为一个具体示例,引用aspect的here会检测到所有EDT规则违规行为。可以找到更多示例here。