Java->;用于徒手画图(矢量)的橡皮擦,如C中的IncrementalStrokeHitTester#

Java->;用于徒手画图(矢量)的橡皮擦,如C中的IncrementalStrokeHitTester#,java,javafx,Java,Javafx,我正在尝试用JavaFx创建一个写意绘画应用程序。我创建了一个onMouse拖动事件,当用户移动鼠标时,该事件创建二维点并用一条线连接这些点 path = new Path(); path.setStrokeWidth(10); path.setStroke(Color.BLACK); ... EventHandler<MouseEvent> mouseHandler = new EventHandler<MouseEvent>() { @Override

我正在尝试用JavaFx创建一个写意绘画应用程序。我创建了一个onMouse拖动事件,当用户移动鼠标时,该事件创建二维点并用一条线连接这些点

path = new Path();
path.setStrokeWidth(10);
path.setStroke(Color.BLACK);

...

EventHandler<MouseEvent> mouseHandler = new EventHandler<MouseEvent>() {
    @Override
    public void handle(MouseEvent mouseEvent) {
        if (mouseEvent.getEventType() == MouseEvent.MOUSE_PRESSED) {        
          path.getElements().add(new MoveTo(mouseEvent.getX(), mouseEvent.getY()));
        } else if (mouseEvent.getEventType() == MouseEvent.MOUSE_DRAGGED) {
            path.getElements().add(new LineTo(mouseEvent.getX(), mouseEvent.getY()));
        }
    }       
};
path=newpath();
路径设置行程宽度(10);
路径设定行程(颜色为黑色);
...
EventHandler mouseHandler=neweventhandler(){
@凌驾
公共无效句柄(MouseEvent MouseEvent){
如果(mouseEvent.getEventType()==mouseEvent.MOUSE_按下){
path.getElements().add(新的MoveTo(mouseEvent.getX(),mouseEvent.getY());
}else if(mouseEvent.getEventType()==mouseEvent.MOUSE\u拖动){
path.getElements().add(newlineto(mouseEvent.getX(),mouseEvent.getY());
}
}       
};
现在我想添加一个橡皮擦工具,它可以查看它是否与直线相交并删除最近的路径点。当我使用JavaFx intersects方法时,它只能处理非常不精确的节点的边界框

C#获得了“增量敲击测试仪”方法,该方法使用鼠标/橡皮擦敲击测试笔划。我的橡皮擦工具有没有类似的方法