У меня тут странная проблема.
Я работаю над приложением, и в рамках одного из моих классов я отслеживаю события мыши.
Странно то, что мое событие перемещения мыши будет вызываться только при нажатии любой кнопки мыши.
Я даже не фильтрую нажатия кнопок внутри метода; сам метод даже не вызывается, если я не нажму на этот объект (тот, который его отслеживает).
Что обычно вызывает этот тип ошибки?
Я не уверен, что это уместно, но у меня есть две разные вещи, контролирующие вводы моей мышью: 1) основная программа, отслеживающая глобальные координаты мыши, и 2) объект в моей программе, отслеживающий координаты мыши внутри себя.
редактировать
Таким образом, проблема должна быть в том, что событие перемещения мыши обычно используется, когда люди перетаскивают курсор вдоль экрана, верно?
Причина, по которой я не нуждаюсь в этом, заключается в том, что я создаю своеобразное контекстное меню, и мне нужно знать, когда элемент находится над ним.
Оказывается, я действительно не установил все в своем классе, чтобы включить отслеживание мыши.
Я почему-то подумал, что если бы сам класс был настроен на его включение, мне не нужно было бы устанавливать его для всех подобъектов, но теперь я понимаю, как это вообще не имеет никакого смысла.
Так что просто уточнить мое решение:
Элементы, которые мне нужны для отслеживания позиции моего курсора, должны иметь
setMouseTracking(true);