我正在开发一个依赖于用户输入的程序,而我需要的一件事就是识别有多少"点击"鼠标滚轮在单个滚动中向前或向后旋转。
为此,我使用了MouseWheelListener
和函数getWheelRotation()
,其中:
返回"点击次数"鼠标滚轮旋转为整数。
然而,它似乎只返回-1(如果旋转远离用户)或1(如果向它旋转)。例如,如果车轮旋转3"点击"远离我,程序将返回-1三次而不是-3(当然,运动是连续进行的)。 以下是我用于该特定任务的代码:
private class Handler implements MouseListener, MouseWheelListener {
public void mouseWheelMoved(MouseWheelEvent event){
System.out.println(event.getWheelRotation());
}
//Some more code
}
我的代码中有错误吗?如果没有,是否可以以另一种方式实现,以便函数返回所需的值?
答案 0 :(得分:1)
您可以尝试使用每次转动滚轮时调用的计数功能,并计算它被点击的次数"在私有成员变量中。
private int counter = 0;
private count(int x) {
counter += x;
System.out.println("The wheel was turned " + counter + " times.");
}
private class Handler implements MouseListener, MouseWheelListener {
public void mouseWheelMoved(MouseWheelEvent event){
count(event.getWheelRotation());
}
//Some more code
}
" klick"之后的输出轮子将是3次:
The wheel was turned 1 times.
The wheel was turned 2 times.
The wheel was turned 3 times.