2016-06-30 2 views
0

임의의 데이터로 JavaFX에서 BarChart를 만들고 있는데 BarCart를 그리려는 지정된 캔버스가있는 fxml 파일이 있습니다.JavaFX에서 GraphicsContext를 사용하여 캔버스에 BarChart 그리기?

막 대형 차트를 만드는 것이 좋습니다.하지만 BarChart 유형의 barChart 객체가 있고 캔버스에 fx : id "canvas"가 있으면 GraphicsContext를 사용할 수있는 방법이나 코드는 무엇입니까? 캔버스에 막 대형 차트를 그립니까? GraphicsContext를 얻으려면 canvas.getGraphicsContext2D가되지만 일단 GraphicsContext 객체가 있으면 캔바스에 내 barChart 객체를 그리려면 어떻게해야할까요?

답변

2

BarChartCanvas에 도장하지 마십시오. 둘 다 유형이 Node입니다. BarChart를 장면에 배치하고 데이터로 피드하기 만하면됩니다.

+0

데이터를 표시하기 전에 BarChart에 데이터를 입력해야합니다. 현재 BorderPane의 중앙에 Canvas가 있으므로 BarChart가 BorderPane의 가운데 노드에 나타나길 원합니다. BarChart를 캔버스에 배치하는 것이 불가능하다고 말하는 것입니까? 이 경우에는 StackPane을 사용할 것입니다. 검증 된 예제가 있기 때문입니다. 저의 연구 책임자는 Canvas를 사용하도록 제안했기 때문에 StackPane이 더 쉬울지라도 Canvas에 대해 특별히 질문했습니다. – Ben

+1

[스냅 샷 노드] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#snapshot-javafx.scene.SnapshotParameters-javafx.scene.image). WritableImage-)을 이미지에 추가하고 [캔버스에 이미지를 그립니다 (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/canvas/GraphicsContext.html#drawImage-javafx.scene). image.Image-double-double-),하지만 바보 같은 생각 일 것입니다. 롤랜드의 훨씬 좋은 제안을 따르십시오. – jewelsea

+0

그래, 그냥 내 barChart를 borderPane의 가운데 노드에 삽입하면 효과가있었습니다. 또한, @ jewelsea BarCharts를 만드는 데 익숙해 지도록 xy 차트가 계층화되어있는 github 코드를 사용하여 끝났기 때문에 감사합니다. :) – Ben