Bonjour à tous,

j'utlise une classe qui hérite de JDateChooser provenant du package com.toedter.calendar et je rencontre un problème pour l'installation d'un focuslistener.

En effet, il ne prend pas en compte mon listener et ne passe donc pas par mes méthodes focusGained et focusLost.

J'ai esssayé deux méthodes pour installer mon listener :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public class MyJDateChooser extends JDateChooser
{
   this.addFocusListener(new Focus_Listener());
   this.getDateEditor().getUiComponent().addFocusListener(new Focus_Listener());
}
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
18
19
20
21
22
23
24
25
26
27
 
public class Focus_Listener implements FocusListener
	{	
		private Date oldValue;
 
		public Focus_Listener()
		{
			System.out.println("test focus listener dans MyJDateChooser");
		}
 
 
		@Override
		public void focusGained(FocusEvent arg0) 
		{
			Frame.affiche("MyJDateChooser Focus gained");
			oldValue = getDate();
		}
 
		@Override
		public void focusLost(FocusEvent arg0) 
		{
			Frame.affiche("MyJDateChooser  oldValue = "+oldValue.toString()+ "  newValue = "+getDate().toString());
			Date newValue = getDate();
			if(!oldValue.equals(newValue))
				updateObservateur();
		}
	}
Il imprime bien "test focus listener dans MyJDateChooser" mais ensuite plus rien.

Merci d'avance.