gpt4 book ai didi

java - spectj 切入点 - 拦截来自 javax.swing 内部的调用

转载 作者:行者123 更新时间:2023-12-02 05:57:22 25 4
gpt4 key购买 nike

我创建了一个JMenuItem,它采用匿名内部类AbstractAction:

JMenuItem menuItem = new JMenuItem(new AbstractAction("Item") {
@Override
@Abc
public void actionPerformed(ActionEvent e) {
// ...
}
});

我使用 MenuBar 注册此 JMenuItem,该 MenuBar 已注册到我的 Java Swing 框架。我有一个切入点,可以拦截对 @Abc 方法的调用

pointcut abcCall() :
call(@Abc * *(..));

以及对此切入点的建议:

Object around(): abcCall() {
// ...
}

对 actionPerformed 的调用将源自 javax.Swing 内部,我只有 (rt.jar) 的二进制文件 - 是否可以编译时编织 javax.Swing 来完成上述操作?

最佳答案

您无法控制 JDK 类,而是控制您自己的代码。那么为什么不拦截方法执行而不是调用呢?

pointcut abcCall() : execution(@Abc * *(..));

关于java - spectj 切入点 - 拦截来自 javax.swing 内部的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22961244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com