我正在netbeans平台(netbeans模块)中开发一个桌面应用程序,其中我有一个desktoppane和一个jscrollbar.我已经实现了MouseWheelListener并添加了
scrollBar.addMouseWheelListener(this);
Run Code Online (Sandbox Code Playgroud)
在类的构造函数中.现在,当我滚动鼠标滚轮时,它不会滚动滚动条,虽然我正在获取值
private void scrollBarMouseWheelMoved(java.awt.event.MouseWheelEvent evt) {
System.out.println("mouse value is------------ " + evt.paramString());
}
Run Code Online (Sandbox Code Playgroud)
以上sout的输出是
mouse value is------------ MOUSE_WHEEL,(8,49),absolute(0,0),button=0,clickCount=0,scrollType=WHEEL_UNIT_SCROLL,scrollAmount=3,wheelRotation=1
Run Code Online (Sandbox Code Playgroud)
我现在该怎么做才能在jscrollbar上启用mosue wheel事件?
我搜索过,但我发现了滚动窗格的事件,但我正在寻找明确的滚动条..
我删除了额外的代码,并在以下示例代码中显示了我要查找的内容
public final class ScrollableWindow1TopComponent extends TopComponent implements ComponentListener, MouseWheelListener {
private javax.swing.JScrollBar scrollBar;
private javax.swing.JDesktopPane scrollableGraphnewContainer;
public ScrollableWindow1TopComponent() {
this.addComponentListener(this);
scrollBar.addMouseWheelListener(this);
}
private void scrollBarMouseWheelMoved(java.awt.event.MouseWheelEvent evt) {
System.out.println("mouse value is------------ " + evt.paramString());
}
private void scrollBarAdjustmentValueChanged(java.awt.event.AdjustmentEvent evt) {
//code that works fine
}
}
Run Code Online (Sandbox Code Playgroud)