Странное поведение MouseListener, добавленного в JTable - PullRequest
3 голосов
/ 27 сентября 2010

Я подключил слушателя мыши к JTable, чтобы вызывать некоторые вещи, когда курсор мыши покидает границы таблицы.Однако метод mouseExited () также вызывается, когда курсор мыши покидает отдельные ячейки таблицы.Это странная причуда в моем коде или ошибка в Swing?

РЕДАКТИРОВАТЬ: я не упоминал, что моя таблица является подклассом JTable, а не стандартная JTable

Ответы [ 2 ]

1 голос
/ 02 октября 2010

Звучит нормально для меня, если вы не проверяете event.getSource() == myTable

0 голосов
/ 27 сентября 2010

Добавление слушателей мыши к компонентам PL & F-heavy не является хорошей идеей.У них часто есть подкомпоненты, которые портят вечеринку.События мыши отличаются от других событий тем, что они всплывают в иерархии компонентов до тех пор, пока не достигают компонента с помощью прослушивателя мыши (поэтому добавление прослушивателя мыши является назойливой операцией).JTable в частности использует рендерер для маркировки каждой ячейки, а также компонентов редактора.

(Также компоненты подкласса, такие как JTable, или другие классы, такие как Thread, обычно плохая идея.)

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