java - 如何知道鼠标拖动的方向 - 当它向上或向下时?

标签 java swing mouseevent

自定义滚动条创建完成,问题是:

addMouseMotionListener(new MouseMotionAdapter() {
    @Override
    public void mouseDragged(MouseEvent e) {

        //How to know mouse direction - up or down?

    }
});

也许有一些简单的方法,或者我必须手动执行?

最佳答案

您必须手动执行此操作,但需要使用 MouseAdapter 而不是 MouseMotionAdapter 来记录初始 Y 坐标。

addMouseMotionListener(new MouseAdapter() {

    int previousY;

    @Override
    public void mousePressed(MouseEvent e) {
        previousY = e.getY();
    }

    @Override
    public void mouseDragged(MouseEvent e) {

        int y = e.getY();
        if (y < previousY) {
            System.out.println("UP");
        } else if (y > previousY) {
            System.out.println("DOWN");
        }

        previousY = y;
    }
});

关于java - 如何知道鼠标拖动的方向 - 当它向上或向下时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18601045/

相关文章:

java - 具有不同类型和数据的事件

Java子字符串错误: String index out of range

java - 将 JLabel 设置为 JTextArea 顶部并向下移动 JTextArea

Java JFXPanel : eventHandler returning button held instead of button pressed

javascript - 用javascript鼠标位置改变图像?

java - 使用 Android Chrome 浏览器在文本字段中输入内容后单击按钮

java - 如何在自定义插件中包含Java编译任务?

java - 为什么 JList 'cut' 或其他内容出现在我的 GUI 框架输出中?

java - 在循环中使用 KeyListener

swift - 如何用我的 SKScene 捕捉鼠标右键事件