0

我将使用 Java 构建一个绘图程序(类似于 MS Paint)。我已经能够使用 Swing lib 在 JFrame 上绘制基本形状,但它们是静态的,我无法对它们做任何事情。因此,我想让每个形状成为一个对象,它将存储我们需要操作的所有信息,例如调整大小、旋转、更改颜色、导出为 jpeg 图像等。

所以我正在考虑创建一个带有子类 Rectangle、Oval 等的 Image 类。每个子类都有一个 Points(x,y) 数组,以便我们可以操作每个点。所以如果我想擦除形状的一部分,我只需要删除某些点。移动形状将只是改变点的位置。这是计划,但我不知道这有多大可能。

在我深入编码之前,任何人都可以给我一些建议吗?

4

1 回答 1

0

如果调用该repaint();方法,则可以将 x 和 y 设置为先前放入数组中的整数。然后,一旦拖动选择的锚点以适应选择的 x 和 y,您就可以更改这些整数。但是话又说回来,您需要知道如何拖动对象。如果您添加了一个鼠标侦听器并检测 x 和 y 是否在您的锚点中(您可以(the clicked x) > (anchor X) && (the clicked x < ((anchor X) + anchor width)对 y 使用不等式和相同。然后当鼠标移动时,它会移动到鼠标 x 和鼠标 y。然后等到鼠标完成拖动并将选择的图像移动到存储的鼠标 x 和 y。中提琴!

于 2013-12-02T23:58:32.447 回答