Tag: jscrollpane mousewheel

如何在不破坏默认实现的情况下为JPanel实现MouseWheelListener?

只是; 我在JScrollPane有一个JPanel ; 正如所料; 默认情况下, JScrollPane侦听MouseWheelEvent以便滚轮在轮子旋转时以及光标hover在JPanel 。 但在那之后; 我刚刚更新了JPanel以便它实现MouseWheelListener ,我为JPanel本身添加了这个鼠标滚轮监听器。 @Override public void mouseWheelMoved(MouseWheelEvent e) { if (e.isControlDown()) { if (e.getWheelRotation() < 0) { System.out.println("mouse wheel Up"); } else { System.out.println("mouse wheel Down"); } } } JPanel响应这个实现的时间; 当光标hover在JPanel时,按下Ctrl键并且滚轮正在旋转。 但JScrollPane的默认行为意外丢失! 当我在光标hover在JPanel时旋转滚轮时, JScrollPane的滚动没有响应! 看起来; MouseWheelListener这个实现破坏了JPanel的默认值。 所以; 如何在不破坏默认实现的情况下为JPanel实现MouseWheelListener ?