我是javaFX的新手,想尝试一个简单的应用程序 我有一个Canvas的应用程序,我绘制一个矩形,但我无法正确擦除它的边框。
以下是我的处理方式:
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);
但我仍然有一个灰色的矩形而不是一无所有。我不明白为什么我有这个。
也许我使用Canvas错误或其他东西..
答案 0 :(得分:0)
colorBackground
是灰色的吗?那么问题是你没有删除任何东西。要清除画布,请使用GraphicsContext#clearRect
。然后你可以像这样擦除你的矩形(或整个画布):
g.clearRect(200, 200, 10, 10);
请注意,这会清除所需的透明色矩形,而不是指定的colorBackground
。要模拟彩色背景,您可以在Node
后面放置一个不透明的Canvas
(例如另一个Canvas
),以便透明度使其变为彩色背景"节点可见。