Для школьного проекта мне нужно использовать ListSelectionListener (LSL) в JList. Я знаю, что LSL отвечает на щелчок мышью и выключение мыши. Но для проекта, я должен позволить ему реагировать на двойной щелчок. Есть ли способ заставить LSL ответить на это?ListSelectionListener двойной щелчок
ответ
Я не знаю, что такое ListActionHandler
, так как вы не указали для него код.
Я предполагаю, что он реализует MouseListener
, или может распространяться MouseAdapter
. Если это так, появится метод, называемый public void mouseClicked(MouseEvent e)
, который вам нужно будет реализовать. Там, просто положи в случае проверки только реагировать на двойные щелчки:
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
// do your stuff here
}
}
EDIT:
Теперь, когда вы исправил свой пост к ListSelectionListener
, вы заметите, что там это только один метод для реализации, void valueChanged(ListSelectionEvent e)
, который напрямую не переводит на мыши.
Почему? Потому что мышь не единственный способ изменить выбор в JList. Это можно сделать с помощью клавиш со стрелками или программно.
Это может быть (вроде) разрешено, добавивв JList, а затем внедряя код счета щелчка, который я показал. Тем не менее, большинство из них считают это взломом, поскольку использование MouseListeners для отслеживания изменений в выборе JList не рекомендуется по причинам, о которых уже упоминалось.
Я попытался удалить ListSelectionListener, и теперь я использую MouseLustener. Насколько я знаю, он отлично работает! Спасибо! –