【问题标题】:How to move Area class object in Java Graphics2D如何在 Java Graphics2D 中移动 Area 类对象
【发布时间】:2012-01-24 17:51:25
【问题描述】:

我正在使用 Graphics2D(java)

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

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

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

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

【问题讨论】:

    标签: java object graphics mouse area


    【解决方案1】:

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

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

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

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

    假设一个矩形的原点是 10, 10。假设鼠标拖动的原点是 30, 30。当鼠标移动到新的 x 和 y 坐标时,您会更改矩形的原点。在本例中,当鼠标移动到 40、40 时,矩形的原点变为 20、20。

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

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 2014-03-05
      • 2014-02-21
      • 1970-01-01
      • 2017-09-11
      • 1970-01-01
      • 2013-02-18
      相关资源
      最近更新 更多