java 鼠标滚轮监听事件_问题记录:JavaFx 鼠标滑轮滚动事件监听!

setOnMouseDragged(event ->{//设定鼠标长按0.3秒后才可拖拽 防止误操作

isCanDrag =true; //(System.currentTimeMillis() - mousedownMills) > 300;

});

setOnDragDetected(event->{if (this.getTestAction() == null && !this.isScreenshotStep || !isCanDrag) {return;

}

scriptShowController.listView.getSelectionModel().clearSelection();

scriptShowController.listView.getSelectionModel().select(items.indexOf(this));//开始拖拽

Dragboard dragboard =startDragAndDrop(TransferMode.MOVE);//当前步骤截图

WritableImage snapshot = this.getParent().snapshot(new SnapshotParameters(), null);

ImageView ig= newImageView(snapshot);//ig.setOnScroll(e->{//double deltaY = e.getDeltaY();//log.info("item:"+deltaY);//});//javafx.scene.Node s= ((javafx.scene.Node)event.getSource());//javafx.scene.Node t= (javafx.scene.Node)event.getTarget();//if(s!=null) {//s.setOnScroll(e -> {//double deltaY = e.getDeltaY();//log.info("S:" + deltaY);//});//}//if(t!=null) {//t.setOnScroll(e -> {//double deltaY = e.getDeltaY();//log.info("T:" + deltaY);//});//}

dragboard.setDragView(ig.getImage());

ClipboardContent content= newClipboardContent();

content.putString(String.valueOf(items.indexOf(this)));

dragboard.setContent(content);

event.consume();

});//拖拽经过的item设置TransferMode

setOnDragOver(event ->{if (this.getTestAction() == null && !this.isScreenshotStep) {return;

}if (!event.getDragboard().getString().equals(String.valueOf(items.indexOf(this))) &&event.getDragboard().hasString()) {

event.acceptTransferModes(TransferMode.MOVE);

}

event.consume();

});//拖拽进入Item时设置透明度0.3

setOnDragEntered(event ->{if (!event.getDragboard().getString().equals(String.valueOf(items.indexOf(this))) &&event.getDragboard().hasString()) {

setOpacity(0.3);

log.info("setOnDragEntered");

}

});//拖拽离开Item时设置为不透明

setOnDragExited(event ->{if (!event.getDragboard().getString().equals(String.valueOf(items.indexOf(this))) &&event.getDragboard().hasString()) {

setOpacity(1);

log.info("setOnDragExited");

}

});//拖拽放下时的相关逻辑

setOnDragDropped(event ->{if (this.getTestAction() == null && !this.isScreenshotStep) {return;

}

Dragboard db=event.getDragboard();boolean success = false;if(db.hasString()) {//调整Item的位置

StepItemController dragItem =(StepItemController) event.getGestureSource();int draggedIdx =items.indexOf(dragItem);int thisIdx = items.indexOf(this);if (draggedIdx !=thisIdx) {

items.remove(draggedIdx);

items.add(thisIdx, dragItem);//更新角标

this.scriptShowController.getLogic().updateStepIndexs();//更新TestAction顺序

SingleTestCase.getInstance().dragActions(draggedIdx, thisIdx);if (UIController.getScriptShowController() != null) {

UIController.getScriptShowController().setSaveScript(true);

}

UndoRedoUtil.addDragUndo(draggedIdx, thisIdx);

}

scriptShowController.listView.getSelectionModel().clearSelection();

scriptShowController.listView.getSelectionModel().select(thisIdx);

success= true;

}

setOpacity(1);

isCanDrag= false;

event.setDropCompleted(success);

event.consume();

log.info("setOnDragDropped");

});

setOnDragDone(DragEvent::consume);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值