You can use the point buttons inside or inside the code to match the contained class and pointcut cflow to match the execution of the addActionListener () method, and then combine this with pointcut to execute to match the body of the actionPerformed () method.
For example, this pointcut will correspond to the execution of the actionPerformed method only inside the inner class InnerTest of the Test class (if the package is equal test) and only in the execution thread of the addActionListener method:
pointcut innerTest(): within(test.Test.InnerTest) &&
cflow(execution(public void javax.swing.JButton.addActionListener(java.awt.event.ActionListener))) &&
execution(void actionPerformed(ActionEvent));
actionPerformed() , cflow.
, , , actionPerformed(), :
pointcut innerTest():
execution(void java.awt.event.ActionListener+.actionPerformed(ActionEvent));