Как я могу обнаружить прокрутку JScrollPane на Mac, когда полосы прокрутки не используются? (прокрутка трекпада)
Простой вопрос, вероятно, такой же простой ответ - но я не могу найти его в документации:
Моя текущая реализация использует MouseListener на ScrollBars JScrollPane, чтобы обнаружить действие прокрутки пользователя. Однако на MacBook пользователь также может использовать трекпад (двойное перетаскивание пальцем), чтобы изменить положение просмотра JViewport без использования полос прокрутки. Как я могу программно обнаружить это?
Больше: Есть несколько (без ответа) вопросов, касающихся способов определения жестов трекпада. Кажется, что это не возможно в "простой старой Java". Я ищу решение, которое не заботится о том, какое конкретное действие пользователя вызвало прокрутку, но вместо этого обнаруживает, что позиция JViewport над представлением изменилась. JScrollPane каким-то образом информируется о необходимости выполнения действия прокрутки, когда происходит жест трекпада, поэтому я надеюсь избежать обнаружения того, как это произошло (что в данном случае может быть невозможным), а вместо этого обнаружить результирующий эффект от пользовательского ввода.
Продолжение поиска, только что нашел это: слушатель прокрутки двумя пальцами Java трекпада, который указывает, что одним из подходов может быть использование MouseWheelListener. Это все-таки определяет пользовательский ввод, а не результат, но, возможно, я рассмотрю этот вариант.