在面板上绘制形状

Drawing shapes on a panel

我是 Java 的初学者,我想在带有 mouseMotionListener()mouseListener() 的面板上绘制多个形状。

问题是,每当我让它绘制一个形状时,它会覆盖我之前绘制的形状。我在书上看到的代码在非面向事件的情况下似乎可以工作,并且它们的代码是从相同的 class.

编写的

有人可以给我写一个简明的例子吗?非常感谢!

whenever I get it to draw a shape, it overwrites on the shape I drew before.

在面板上绘制形状有两种常用方法:

  1. 保留 ArrayList 个要绘制的形状,然后遍历 ArrayList 绘制每个形状

  2. 将形状绘制到 BufferedImage

查看 Custom Painting Approaches 这两种方法的工作示例。