Как отключить прокрутку с помощью колеса мыши в заголовке JScrollPane?
-
05-07-2019 - |
Вопрос
В настоящее время я работаю над рамой SWING с JScrollPane (включая JComponent) с заголовком строки и заголовком столбца. (которые также являются JComponents).Когда указатель мыши находится над JComponent или одним из этих двух заголовков, колесо мыши вызывает прокрутку.
Что я хочу сделать, так это отключить эту прокрутку, когда мышь находится над заголовком столбца, но я не могу найти прямого пути ни в экземпляре JScrollPane, ни в JComponent.Для информации я посмотрел эти источники:
Заранее благодарю, если у вас есть способ сделать это.
Решение
Я думаю, вам нужно двухэтапное решение.
Чтобы отключить/включить колесо прокрутки для всего компонента, используйте
setWheelScrollingEnabled()
наJScrollPane
.Чтобы сделать это выборочно, выполните
addMouseListener()
на JScrollPane, чтобы отслеживать все движения мыши (включая вход и выход), чтобы вы знали, когда указатель находится в заголовке.Всякий раз, когда это меняется, вы можете включить или выключить прокрутку.
Другие советы
yourJTable.getTableHeader().setReorderingAllowed(false);
должно сработать, попробуйте.