【发布时间】:2012-01-24 17:51:25
【问题描述】:
我正在使用 Graphics2D(java)
我正在尝试通过鼠标拖动来移动随机形状。
这个随机形状存储在 java.awt.geom.Area 类的 Area 对象中。
我知道如何选择那个区域对象,我只需要弄清楚如何将它实际移动到新坐标。
椭圆和矩形等形状可以轻松移动,但如何移动多边形或包含曲线且没有特定预定义结构的形状。
【问题讨论】:
标签: java object graphics mouse area
我正在使用 Graphics2D(java)
我正在尝试通过鼠标拖动来移动随机形状。
这个随机形状存储在 java.awt.geom.Area 类的 Area 对象中。
我知道如何选择那个区域对象,我只需要弄清楚如何将它实际移动到新坐标。
椭圆和矩形等形状可以轻松移动,但如何移动多边形或包含曲线且没有特定预定义结构的形状。
【问题讨论】:
标签: java object graphics mouse area
要使用 Graphics 类绘制矩形,您需要原点以及宽度和高度。
要使用 Graphics 类绘制椭圆,您需要原点以及宽度和高度。
这些简单图形中的每一个都由一个原点和图形的尺寸组成。
同样,对于任何复杂的形状,您都需要一个原点。当您通过鼠标拖动移动形状时,它是“移动”的原点。换句话说,鼠标移动的原点与图形的原点相对应。随着鼠标移动到新的 X 和 y 坐标,您的原点也会移动到新的 x 和 y 坐标。
假设一个矩形的原点是 10, 10。假设鼠标拖动的原点是 30, 30。当鼠标移动到新的 x 和 y 坐标时,您会更改矩形的原点。在本例中,当鼠标移动到 40、40 时,矩形的原点变为 20、20。
矩形和椭圆已经在 Graphics 类中有一个 draw 方法。您可能必须为复杂的形状编写自己的绘制方法。
【讨论】: