如何“擦除”我在Java Graphics2D Canvas上绘制的内容而不删除其背后的内容?

问题描述 投票:0回答:1

我正在编写一个程序,在坐标系上绘制一个特定的图形(基于通过JSlider给出的参数)。我遇到的问题是我的坐标系也是在画布上绘制的,如果我使用“clearRect”方法,它会删除我想要删除的图形,以便在绘制新图形时JSlider更新以及坐标系。有没有办法“锁定”坐标系,以便它不被删除或类似的东西?

java graphics2d jslider
1个回答
0
投票

不要直接画到画布上。创建对象列表,例如坐标系和对象。当某些内容发生变化时,您可以操作列表(添加或删除对象)和repaint画布。

List中的每个对象都可以使用draw()方法实现接口Drawable。因此列表将是List<Drawable>。在画布中,paint()遍历所有对象并调用draw()。

© www.soinside.com 2019 - 2024. All rights reserved.