如何禁用JScrollPane标题中的鼠标滚轮滚动?

时间:2009-11-26 12:21:02

标签: java swing jscrollpane

我目前正在使用 JScrollPane(包括JComponent)处理SWING框架,其中包含行标题和列标题(也是JComponents)。当鼠标位于JComponent或这两个标题之一时,鼠标滚轮会引发滚动。

我想要做的是当鼠标悬停在列标题时禁用此滚动,但我找不到直接的方式,也不能在JScrollPane实例中找到,也不能在JComponent中找到。 有关信息,我查看了这些来源:

如果您有办法,请提前感谢您。

2 个答案:

答案 0 :(得分:3)

我认为你需要一个两步解决方案。

  • 要停用/启用整个组件的滚轮,请使用setWheelScrollingEnabled()上的JScrollPane

  • 要有选择地执行此操作,请在JScrollPane上执行addMouseListener()以捕获所有鼠标移动(包括进入和离开),以便您知道指针何时位于标题中。每当此更改时,您可以打开或关闭滚动。

答案 1 :(得分:0)

yourJTable.getTableHeader().setReorderingAllowed(false);

应该有效,试一试。