Как отключить прокрутку от колеса мыши в заголовке JScrollPane? - PullRequest
1 голос
/ 26 ноября 2009

В настоящее время я работаю над кадром SWING с JScrollPane (включая JComponent), с заголовком строки и заголовком столбца (которые также являются JComponents). Когда мышь находится над JComponent или одним из этих двух заголовков, колесо мыши вызывает прокрутку.

Я хочу отключить эту прокрутку, когда мышь находится над заголовком столбца , но я не могу найти прямой путь ни в экземпляре JScrollPane, ни в JComponent. Для информации я взглянул на следующие источники:

Заранее спасибо, если у вас есть способ сделать это.

Ответы [ 2 ]

3 голосов
/ 26 ноября 2009

Я думаю, что вам нужно двухшаговое решение.

  • Чтобы отключить / включить колесо прокрутки для всего компонента, используйте setWheelScrollingEnabled() на JScrollPane.

  • Чтобы сделать это выборочно, выполните addMouseListener() на JScrollPane, чтобы отследить все движения мыши (включая вход и выход), чтобы вы знали, когда указатель находится в заголовке. Всякий раз, когда это меняется, вы можете включить или выключить прокрутку.

0 голосов
/ 11 сентября 2013

yourJTable.getTableHeader().setReorderingAllowed(false);

должно сработать, попробуйте.

...