Bonjour à tous ,j'ai crée les 2 classes ci-dessous :
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 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) { ; } }
J'aimerais une super classe d'où dériveraient ces 2 classes mais je n'y arrive pas ;j'ai essayé
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) { ; } }
la généricité (que je trouve compliquée) ; comment faire ??
Partager