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