Problème avec MouseCllicked sous MAC OS.
Bonjour,
Cela fait 3 heures que je m'arrache les cheveux (ou presque) car je ne comprends pas pourquoi le code suivant fonctionne très bien sous Windows et pas sous MAC OSX.
Si je clique bouton-droit je dois entrer dans le mouse listener, et cela ne se produit pas sous MAC.
Merci pour toute suggestion
Gégé
Code:
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 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.JButton;
import javax.swing.JComboBox;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class TestCombo extends JFrame
{
private static final long serialVersionUID = 1L;
private JButton Terminer = null;
private JComboBox Combo = null;
public TestCombo()
{
créationBoites();
définirListener();
this.setLocationRelativeTo(null);
setVisible(true);
Combo.addItem("Choisissez");
for (int i=0; i < 15 ; i++)
{
Combo.addItem("Ligne " + i); // on ajoute dans la combo
}
}
public void créationBoites()
{
setSize(500, 286);
this.setName("TestCombo");
getContentPane().setName("TestCombo");
JPanel Panel1 = new JPanel();
Panel1.setLayout(null);
Panel1.setName("Panel1");
Panel1.setBounds(65, 11, 421, 218);
Panel1.setBackground(Color.gray);
Combo = new JComboBox();
Combo.setName("Combo");
Combo.setBounds(149, 97, 212, 22);
Terminer = new JButton("Terminer");
Terminer.setBounds(200, 175, 89, 23);
Panel1.add(Terminer);
Panel1.add(Combo);
getContentPane().add(Panel1);
}
private void définirListener()
{
Terminer.addActionListener(e -> System.exit(0));
Combo.addActionListener(e -> setColor());
Combo.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if (SwingUtilities.isRightMouseButton(e))
{
System.out.println("clicked right ");
}
else System.out.println("clicked not right");
}
public void mouseReleased(MouseEvent e)
{
if (SwingUtilities.isRightMouseButton(e))
{
System.out.println("released right one");
}
else System.out.println("released not right ");
}
});
}
private void setColor()
{
System.out.println("Entré dans setCololor");
}
public static void main(String[] args)
{
new TestCombo();
}
} |