我有几个Graphics2D对象(Line2D,Rectangle2D,Ellipse2D,Rectangle2D)和一个GeneralPath。我知道如果我想对它们进行测试,我可以使用.contains(Point)方法,但是当它们没有被填充时我需要对这些对象进行测试。所以我只想测试用户是否点击了它们边缘。现在我不必担心边界的厚度。假设我只需要担心用户是否在边界/线条的10个像素内单击。在Graphics2D对象上点击测试?
我确实有一个MouseListener,我可以获取鼠标单击的坐标,而我的Graphics2D对象存储在我迭代的数据结构中。我只是不知道如何在线条/边框上进行测试。
任何建议将不胜感激!
如果我不关心中风,但是距边界/中风的特定距离(例如10px)就好像1px宽? 例如,如果Ellipse2D的笔画是20px,但我只需要知道用户是否仅在10px内单击了? – Eric 2012-02-09 18:54:12
我结束了调用Graphics2D.setStroke(10),它完美的工作! 感谢Baqueta&Ben – Eric 2012-02-09 23:31:21