Javafx Shift ScrollWheel始终返回0.0



我构建了一个具有许多含义性功能的自定义日历控件,现在面临的唯一问题是" shift shift scrollwheel"。

mainb.setOnScroll(e->{
            mainb.requestFocus();
            System.out.println(e.getDeltaY());
            if(e.isShiftDown()){
                if(e.getDeltaY()>0)
                    prev.fire();
                else
                    next.fire();
            }else if(e.isControlDown()){
                System.out.println(e.getDeltaY());
                if(e.getDeltaY()>0)
                    prevDay();
                else
                    nextDay();
            }else{
                if(e.getDeltaY()>0)
                    prevWeek();
                else
                    nextWeek();
            }
        });

代码 组件 控制台结果

            if(e.isShiftDown()){
                if(e.getDeltaY()>0)//always 0.0
                    prev.fire();//never fired
                else
                    next.fire();//always fired
            }

似乎是使用移位键从垂直到水平滚动(请参阅:错误)。因此,按下移位键时e.getDeltaY()将返回0。在这种情况下使用e.getDeltaX()

相关内容

  • 没有找到相关文章

最新更新