我正在使用Graphics2D(java)
我正在尝试用鼠标拖动来移动随机形状。
此随机形状存储在java.awt.geom.Area类的Area对象中。
我知道如何选择该区域对象,我只需要弄清楚如何将其实际移动到新坐标。
椭圆和矩形等形状可以轻松移动,但如何移动形状,如多边形或包含曲线的形状,没有特定的预定义结构。
答案 0 :(得分:0)
要使用Graphics类绘制矩形,需要原点和宽度和高度。
为了使用Graphics类绘制椭圆,您需要原点和宽度和高度。
这些简单图中的每一个都由原点和图的尺寸组成。
同样,对于任何复杂的形状,您都需要一个原点。当您使用鼠标拖动移动形状时,它是“移动”的原点。换句话说,鼠标移动的原点对应于图形的原点。当鼠标移动到新的X和y坐标时,原点移动到新的x和y坐标。
假设一个矩形的原点为10,10。让我们说鼠标拖动的原点是30,30。当鼠标移动到新的x和y坐标时,你可以改变矩形的原点。在此示例中,当鼠标移动到40,40时,矩形的原点变为20,20。
矩形和椭圆在Graphics类中已经有了一个draw方法。您可能必须为复杂的形状编写自己的绘制方法。