通过Path2D检测鼠标指针

我构建了一个Path2D ,它表示由直线组成的未闭合形状:

在此处输入图像描述

我希望能够检测何时单击鼠标并且鼠标指针靠近路径(在几个像素内)。 使用contains方法不起作用,因为算法将未闭合的形状视为隐式闭合(即通过在起点和终点之间绘制一条直线)。

有谁知道实现这个目标的另一种机制?

  1. 创建一个BasicStroke(宽度控制您的像素距离容差)
  2. 不要使用它绘制,只使用其createStrokedShape方法从您的形状创建第二个形状。 如果您使用BasicStroke绘制第一个形状,则第二个形状描述将填充的形状轮廓。
  3. 使用此第二个形状的contains方法

从Stroke.createStrokedShape API文档:

返回一个轮廓Shape,它根据实现Stroke接口的对象定义的规则,在描绘Shape时应该绘制的区域。