événement Double-cliquez sur l'élément JList
-
30-09-2019 - |
Question
J'ai un JList
avec un DefaultListModel
.
Comment puis-je faire un élément dans une JList
réagir à l'événement double-cliquez sur?
La solution
String[] items = {"A", "B", "C", "D"};
JList list = new JList(items);
list.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
JList list = (JList)evt.getSource();
if (evt.getClickCount() == 2) {
// Double-click detected
int index = list.locationToIndex(evt.getPoint());
} else if (evt.getClickCount() == 3) {
// Triple-click detected
int index = list.locationToIndex(evt.getPoint());
}
}
});
Autres conseils
Je sais que vous avez une solution simple, mais vous pouvez vouloir vérifier Liste Action pour une solution plus générale qui vous permettra d'utiliser la souris ainsi que le clavier. conception graphique appropriée devrait permettre l'utilisation d'utiliser soit l'approche.
(sur la base de Mohamed Saligh, la réponse acceptée)
Si vous utilisez NetBeans
Sélectionnez la JList> Fenêtre Événements> mouseClicked
private void jListNicknamesMouseClicked(java.awt.event.MouseEvent evt) {
JList list = (JList)evt.getSource();
if (evt.getClickCount() == 2) {
int index = list.locationToIndex(evt.getPoint());
System.out.println("index: "+index);
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow