Canvas Javafx清除笔划矩形

Canvas Javafx清除笔划矩形,canvas,javafx,stroke,Canvas,Javafx,Stroke,我是javaFX新手,想尝试一个简单的应用程序。 我有一个带有画布的应用程序,我画了一个矩形,但我不能正确地擦除它的边框 我是这样处理的: Canvas canvas = new Canvas(WIDTH, HEIGHT); GraphicsContext g = canvas.getGraphicsContext2D(); g.setFill(colorBackground); g.fillRect(0, 0, WIDTH, HEIGHT); g.setStroke(Color.BLACK)

我是javaFX新手,想尝试一个简单的应用程序。
我有一个带有画布的应用程序,我画了一个矩形,但我不能正确地擦除它的边框

我是这样处理的:

Canvas canvas = new Canvas(WIDTH, HEIGHT);
GraphicsContext g = canvas.getGraphicsContext2D();

g.setFill(colorBackground);
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setStroke(Color.BLACK);
g.strokeRect(200, 200, 10, 10);
g.setStroke(colorBackground);
g.strokeRect(200, 200, 10, 10);
但我仍然有一个灰色的矩形,而不是什么都没有。我不明白为什么我有这个。

也许我用帆布的时候用错了什么的。

是不是
彩色背景
灰色?那么问题是你没有删除任何东西。要清除画布,请使用。然后您可以像这样擦除矩形(或整个画布):


请注意,这将使用透明颜色清除所需的矩形,而不是指定的
颜色背景。要模拟彩色背景,您可以将不透明的
节点
(例如另一个
画布
)放置在
画布
)后面,这样透明度可以使彩色“背景”节点可见。

我的背景颜色实际上是白色的,我尝试了clearRect,但没有成功。不过,它与背景画布一起工作,非常感谢。
g.clearRect(200, 200, 10, 10);