Bonjour,

J'aimerai savoir s'il est possible d'intercepter les méthodes d'une classe interne. D'une maniere générale, je crée mes actionListener comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
public class MaClasse extends JInternalFrame {
 
// initialisation des components
...
 
// initalisation des actions
public void initAction(){
myButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				doSomething();
			}
		});
}
}
J'aimerai réaliser un tissage pour intercepter soit la methode actionPerformed, soit doSomething().
Mon fichier de description xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<bean id="myInterceptor" class="com.MyInterceptor"/>
 
<bean id="myPointCut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
		<property name="pattern" value="com.MaClasse.*"/>
	</bean>
 
<bean id="myAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
		<property name="pointcut" ref="myPointCut"/>
		<property name="advice" ref="myInterceptor"/>
	</bean>
J'ai essayé plusieurs définitions de pattern de pointCut, tels que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<bean id="myPointCut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
		<property name="pattern" value="java.awt.event.ActionListener.*"/>
	</bean>
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<bean id="myPointCut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
		<property name="pattern" value="com.MaClasse.*.*"/>
	</bean>
mais rien à faire, je n'intercepte pas ce que je veux...

PS: j'espere que je suis dans la bonne section