Bonjour à tous ,j'ai crée les 2 classes ci-dessous :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
public class WheeledStringButton extends JButton implements MouseWheelListener,Observable,Observateur {
 
	private	Object[]	observateur = {null,null};
	private	int	index;
	private	String	mois[] = {"Janvier","Février","Mars","Avril","Mai","Juin",
			"Juillet","Aout","Septembre","Octobre","Novembre","Décembre"};
 
	public WheeledStringButton() {
		super();
		this.index = 0;
		addMouseWheelListener(this);
		observateur[0] = this;
	}
 
	public void mouseWheelMoved(MouseWheelEvent e) {
		// TODO Auto-generated method stub
		int	count = e.getWheelRotation();
		int	nb = (count < 0)?-1:1;
		for(int i=0;i!=count;i+=nb) {
			index += nb;
			if(index > (mois.length - 1)) { index = 0; }
			if(index < 0) { index = mois.length - 1; }
 
			((Observateur) observateur[0]).setObservateurs(mois[index]);
			((Observateur) observateur[1]).setObservateurs("1");
			((Observateur) observateur[1]).setIndex(index);
		}
	}
	public	void	inscription(Object o) {
		observateur[1] = o;
	}
	public	void	setObservateurs(String s) {
		this.setText(s);
	}
	public	int	getMonthIndex() {
		return index;
	}
	public void setIndex(int index) {
		;
	}
}
et la deuxième ...
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
public class WheeledStringLabel extends JLabel implements MouseWheelListener,Observateur,Observable {
 
	private	int	index;
	private	int	jour;
	private	Object	observateur = null;
	private	int	jours[] = {31,28,31,30,31,30,31,31,30,31,30,31};
 
	public WheeledStringLabel() {
		super();
		observateur = this;
		this.index = 0;this.jour = 1;
		addMouseWheelListener(this);
		((Observateur) observateur).setObservateurs(Integer.toString(jour));
	}
	public WheeledStringLabel(String s) {
		super(s);
		observateur = this;
		this.index = 0;this.jour = 1;
		addMouseWheelListener(this);
		((Observateur) observateur).setObservateurs(Integer.toString(jour));
	}
 
	public void mouseWheelMoved(MouseWheelEvent e) {
		// TODO Auto-generated method stub
		int	count = e.getWheelRotation();
		int	nb = (count < 0)?-1:1;
		for(int i=0;i!=count;i+=nb) {
			jour += nb;
			if(jour > jours[index]) { jour = 1; }
			if(jour < 1) { jour = jours[index]; }
 
			((Observateur) observateur).setObservateurs(Integer.toString(jour));
		}
	}
	public	void	setIndex(int i) {
		if(i>0 && i<12) { this.index = i;this.jour = 1; }
	}
 
	public void setObservateurs(String s) {
		setText(s);
	}
 
	public void inscription(Object o) {
		;
	}
}
J'aimerais une super classe d'où dériveraient ces 2 classes mais je n'y arrive pas ;j'ai essayé
la généricité (que je trouve compliquée) ; comment faire ??