【问题标题】:OnMouseOver function for QuadCurve JavaQuadCurve Java 的 OnMouseOver 函数
【发布时间】:2013-08-20 22:54:12
【问题描述】:

我正在创建一个用于绘制图形的程序,但我有一个问题,我需要知道鼠标是否在 QuadCurve 上。怎么会创建函数那个函数? 我正在做的程序是绘制图形(绘制节点和边)。用鼠标在某个点绘制边缘只需按下 JPanel 并拖动到终点,并使用 Graphics2D QuadCurve2D 对象绘制并存储在对象数组中。对象中的每个对象都保存为 QuadCurve2D,它包含 3 个点(开始、控制、结束),现在我需要一种方法来消除在 JPanel 上绘制的任何边缘,为此,每条边缘都必须有一个作为参数的方法鼠标点,如果点在曲线上则返回true

【问题讨论】:

  • 你能给我们更多关于你想要做什么的信息吗?你可以使用一个简短的、自包含的正确示例sscce.org
  • 我正在做的程序是绘制图形(绘制节点和边)。用鼠标在某个点绘制边缘只需按下 JPanel 并拖动到终点,并使用 Graphics2D QuadCurve2D 对象绘制并存储在对象数组中。对象中的每个对象都保存为 QuadCurve2D,它包含 3 个点(开始、控制、结束),现在我需要一种方法来消除在 JPanel 上绘制的任何边缘,为此,每条边缘都必须有一个作为参数的方法鼠标点,如果点在曲线上则返回true
  • 我也遇到了这个问题。你有没有找到解决办法?如果是这样,你能给我解释一下吗?

标签: java mouse curve


【解决方案1】:

将鼠标运动侦听器连接到您的面板,然后在鼠标运动事件上​​使用 QuadCurve2D 对象上的 intersects 方法来检测它是否击中以鼠标光标新位置为中心的矩形。尝试使用宽度和高度参数,找到最适合您的。

【讨论】:

  • 感谢您的回复,但是 Intersect 方法不仅在点在曲线上时返回 true,而且如果点在创建曲线的区域内也返回 true,我只需要先来。
  • 那么就用一个像素大小的正方形。
  • 我觉得我解释的不对,在这张图片中你可以看到我需要帮助我请i.stack.imgur.com/Em3Y9.png一个方法来确定是否一个点(鼠标的点和我有什么)在曲线内(QuadCurve2D 对象),如果点在曲线外i.stack.imgur.com/WTdbM.png,则 Intersect 或 Contains 方法返回 true(穿过红色绘制返回 true),我不希望这样。
猜你喜欢
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多