2017-02-28 111 views
0

我是javaFX的新手,想要尝试一个简单的应用程序。
我有一个应用程序与画布,我画一个矩形,但我不能抹去它的边界正确。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); 

但我仍然有一个灰色的矩形,而不仅仅是什么。我不明白我为什么这样做。
也许我使用帆布错误或什么..

回答

0

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

g.clearRect(200, 200, 10, 10); 

注意,这将清除所需的矩形透明色,而不是您指定的colorBackground。为了模拟彩色背景,你可以把一个不透明Node(如另一Canvas)您Canvas后面,从而使透明度,使该有色“背景”节点可见。

+0

我的背景色为白色实际上,我试图与clearRect但没有成功。 – Irindul

+0

它虽然与背景画布,但谢谢你! – Irindul