我是Java的初学者,我希望在面板上使用mouseMotionListener()
和mouseListener()
绘制多个形状。
问题是,每当我得到它来绘制一个形状时,它会覆盖我之前绘制的形状。我在书上看到的代码似乎在它们不是面向事件时起作用,而且它们的代码是从同一个类中编写的。
有人能给我写一个简洁的例子吗?非常感谢!
答案 0 :(得分:1)
每当我得到它来绘制一个形状时,它会覆盖我之前绘制的形状。
在面板上绘制形状有两种常用方法:
保留要绘制的ArrayList
个形状,然后遍历ArrayList绘制每个形状
将形状绘制到BufferedImage
。
查看Custom Painting Approaches以了解这两种方法的工作示例。