2017-02-28 13 views
0

나는 javaFX를 처음 사용하여 간단한 응용 프로그램을 시험해보고 싶다.
Canvas를 사용하는 응용 프로그램이 있는데 사각형을 그립니다. 그러나 테두리를 제대로 지울 수 없습니다.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