2017-02-28 15 views
0

私はjavaFXを初めて使用していて、簡単なアプリケーションを試してみたいです。
私はキャンバスでアプリケーションを持っており、四角形を描画していますが、境界線を正しく消去することはできません。Javafx clear stroking rectangle

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を使用します。これはないあなたの指定colorBackgroundに、透明色で希望の四角形をクリアすることを

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

注:その後、あなたはそうのようなあなたの長方形(または全体キャンバス)を消去することができます。色付きの背景をエミュレートするには、Canvasの後ろに不透明なNode(別のCanvasなど)を配置して、その透明な色付きの「背景」ノードを表示させることができます。

+0

私の背景色は実際には白ですが、私はclearRectを試しましたが、成功しませんでした。 – Irindul

+0

これはバックグラウンドキャンバスと一緒に働いたが、ありがとう! – Irindul