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

时间:2019-03-28 21:18:45

标签: java graphics2d jslider

我正在编写一个在坐标系上绘制特定图形(基于JSlider给出的参数)的程序。 我遇到的问题是我的坐标系也在该画布上绘制,并且如果我要使用“ clearRect”方法,它将删除我想摆脱的两个图形以在绘制新图形时JSlider以及坐标系统进行了更新。 有没有一种方法可以“锁定”坐标系,使其不会被删除或类似的东西?

1 个答案:

答案 0 :(得分:0)

请勿直接在画布上绘制。创建对象列表,例如坐标系和对象。发生更改时,您可以操作列表(添加或删除对象)和repaint画布。

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