8

java - 如何在java中检测笔记本电脑触控板上的两指滚动?我一直在搜索谷歌和这里,但在使用触控板滚动时找不到任何东西,更不用说如何收听了。任何帮助将不胜感激。谢谢。

4

3 回答 3

8

我做了这个示例程序

import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;

import javax.swing.JFrame;

public class ScrollTest {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200,200);
        frame.addMouseWheelListener(new MouseWheelListener() {

            @Override
            public void mouseWheelMoved(MouseWheelEvent event) {
                if (event.isShiftDown()) {
                    System.err.println("Horizontal " + event.getWheelRotation());
                } else {
                    System.err.println("Vertical " + event.getWheelRotation());                    
                }
            }
        });
        frame.setVisible(true);
    }
}

它将打印滚动是水平的还是垂直的,以及当您在带有触摸板的 Mac 上打开的窗口内滚动时滚动量是多少。

于 2011-11-24T20:52:26.073 回答
4

如果这是关于监听用户滚动,您可以通过向控件添加MouseWheelListener来实现。有关详细信息,请参阅如何编写鼠标滚轮侦听器

如果这是关于从触控板而不是鼠标检测特定事件,我不知道有任何 Java 功能可以实现这一点。

于 2011-11-24T12:35:18.213 回答
0

最后是一个可以收听本机滚动的答案。看看我的问题和答案:https ://stackoverflow.com/a/31190973/155137

该项目还检测滚动手势并很好地报告它们。滚动就像原生可可应用程序一样流畅。

于 2015-07-03T06:16:42.687 回答