Событие MouseListener не работает в Java - PullRequest
0 голосов
/ 11 марта 2011

Я создаю приложение, в котором список изображений будет отображаться в JList.Каждое изображение будет отображаться как встроенное в панель.Когда пользователь наводит курсор на изображения, изображения должны отображаться в увеличенном виде в другом кадре.

Теперь я реализовал интерфейс MouseListner над каждой панелью, отображающей событие.и я добавил mouseListner () над каждой панелью.

Теперь, когда пользователь щелкает или перемещается внутрь или из панели ... никаких событий не происходит.

Это из-за того, чтокогда я нажимаю на изображение, я на самом деле нажимаю на JLabel, а не на панель напрямую?

Что может быть другой причиной?

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Это из-за того, что когда я нажимаю на изображение, я нажимаю на JLabel, а не на панель?

Вы нажимаете наJList.Рендерер НЕ является реальным компонентом.

Вам необходимо добавить MouseListener в JList и затем определить, какой визуализированный элемент был нажат, используя метод indexToLocation (...) JList.

Edit:

На самом деле это должен быть метод locationToIndex (...) JList.Иногда мои пальцы не набирают то, что думает мой разум:)

0 голосов
/ 11 марта 2011

Если вы хотите захватить события перемещения мыши, вам нужно реализовать MouseMotionListener вместо MouseListener.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...