如何在Java Graphics2D中移动Area类对象

时间:2012-01-24 17:51:25

标签: java object graphics mouse area

我正在使用Graphics2D(java)

我正在尝试用鼠标拖动来移动随机形状。

此随机形状存储在java.awt.geom.Area类的Area对象中。

我知道如何选择该区域对象,我只需要弄清楚如何将其实际移动到新坐标。

椭圆和矩形等形状可以轻松移动,但如何移动形状,如多边形或包含曲线的形状,没有特定的预定义结构。

1 个答案:

答案 0 :(得分:0)

要使用Graphics类绘制矩形,需要原点和宽度和高度。

为了使用Graphics类绘制椭圆,您需要原点和宽度和高度。

这些简单图中的每一个都由原点和图的尺寸组成。

同样,对于任何复杂的形状,您都需要一个原点。当您使用鼠标拖动移动形状时,它是“移动”的原点。换句话说,鼠标移动的原点对应于图形的原点。当鼠标移动到新的X和y坐标时,原点移动到新的x和y坐标。

假设一个矩形的原点为10,10。让我们说鼠标拖动的原点是30,30。当鼠标移动到新的x和y坐标时,你可以改变矩形的原点。在此示例中,当鼠标移动到40,40时,矩形的原点变为20,20。

矩形和椭圆在Graphics类中已经有了一个draw方法。您可能必须为复杂的形状编写自己的绘制方法。