Bonjour,

Un problème tout simple : JComboBox ne réagit à l'évènement mousePressed que si je clique sur la partie liste; pas quand je clique sur la petite flèche à sa droite... comportement normal ?

Voilà le petit bout de code qui illustre le pb
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
 
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
 
/**
 * L'évènement mousePressed n'est pas déclenché par un clic sur la flèche du
 * JCombo mais seulement quand on presse la liste. Normal ?
 * 
 * @author pverley
 */
public class JComboFrame extends JFrame {
 
    public JComboFrame() {
 
        JComboBox cbBox = new JComboBox(new String[]{"item1", "item2", "item3"});
        cbBox.addMouseListener(new MouseAdapter() {
 
            @Override
            public void mousePressed(MouseEvent evt) {
                System.out.println("mousePressed");
            }
        });
 
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setMinimumSize(new Dimension(150, 0));
        getContentPane().add(cbBox);
        pack();
    }
 
    public static void main(String[] args) {
 
        SwingUtilities.invokeLater(new Runnable() {
 
            public void run() {
                new JComboFrame().setVisible(true);
            }
        });
    }
}
Comment capter l'évènement mousePressed sur toutes les parties du JComboBox ?
D'avance merci,

Philippe