JavaFX shift + Scrollwheel总是返回0.0

时间:2017-02-24 02:14:04

标签: javafx shift scrollwheel

我构建了一个具有许多navegability功能的自定义日历控件,我现在面临的唯一问题是在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();
            }
        });

code + component + console results

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

1 个答案:

答案 0 :(得分:1)

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