Bonjour/Bonsoir,
Comme dit dans le titre, j'essaie d'ajouter un écouteur sur une JList afin que quand on clique sur un mot de la JList cela change le contenu d'un JLabel.
C'est la que je rencontre mon problème,Voici mon code avec l'erreur que m'affiche Eclipse :
Si vous pouvez m'aider, je vous en remercie d'avance

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.ListDataListener;

class Contenu extends JPanel {
    private JList list;
    private JTextField JTF;
    private Vector data;
    
    public Contenu(PDT f) {
        
        JPanel Pa5;                            
        Pa5=new JPanel();
        BorderLayout Bor;
        Bor=new BorderLayout();
        Pa5.setLayout(Bor);
        Pa5.setBackground(Color.PINK);
        
        JLabel lab;
        JTextField TF;
        JButton but;
        
        lab=new JLabel("Contenu :");
        Pa5.add(lab,BorderLayout.NORTH);
        
        data=new Vector();
        data.add("Salut");
        data.add("Ca va");
        
        list=new JList(data);
        Ecouteur ec8;
        ec8=new Ecouteur(8,f);
        list.addListSelectionListener(ec8); //          Ici est mon probleme, Eclipse m'affiche : the methode addListSelectionListener(ListSelectionListener) in the type JList is not applicable for the arguments (Ecouteur)

        Pa5.add(list,BorderLayout.CENTER);
        
        JPanel Pa6;
        Pa6=new JPanel();
        FlowLayout fl;
        fl=new FlowLayout();
        Pa6.setLayout(fl);
        Pa6.setBackground(Color.YELLOW);
        TF=new JTextField(10);
        Pa6.add(TF);
        
        but=new JButton("Ajout");
        Ecouteur ec9;
        ec9=new Ecouteur(9,f);
        but.addActionListener(ec9);
        Pa6.add(but);
    
        Pa5.add(Pa6,BorderLayout.SOUTH);
        
        this.add(Pa5);
        }
    
    public void ajout () {
        String s;
        s=JTF.getText();
        data.add(s);
    }
    
    public String selecttexte () {
        return list.getSelectedValue().toString();
    }
    

}
La Classe Ecouteur, au cas ou :
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
import java.awt.event.*;
 
class Ecouteur implements ActionListener,ItemListener {
    private int code;
    private PDT fen;
 
    public Ecouteur(int n,PDT f){
        code=n;
        fen=f;
    }
 
    public void actionPerformed (ActionEvent e) {
        switch(code){
        case 1:fen.majuscule();
            break;
        case 2:fen.minuscule();
            break;
        case 3:fen.droite();
            break;
        case 4:fen.centre();
            break;
        case 5:fen.gauche();
            break;
        case 9:fen.ajouttexte();
            break;
        case 10:System.exit(0);
            break;
        }
    }
 
    public void itemStateChanged(ItemEvent e) {
        switch(code) {
        case 6:fen.couleurtexte();
            break;
        case 7:fen.couleurfond();
            break;
        case 8:fen.changetexte();
            break;
        }
 
    }
}