2016-06-30 6 views
0

Ich erstelle ein BarChart in JavaFX mit zufälligen Daten, und ich habe eine fxml-Datei mit einem designierten Canvas, auf dem ich das BarChart zeichnen möchte.Zeichnen eines BarChart auf einem Canvas mit GraphicsContext in JavaFX?

Ich bin in Ordnung beim Erstellen des Balkendiagramms, aber wenn ich (zum Beispiel) ein BarChart-Objekt vom Typ BarChart und die Leinwand fx: id "Leinwand", was ist die Methode oder den Code, den ich mit GraphicsContext verwenden kann Zeichnen Sie das Balkendiagramm auf der Leinwand? Ich weiß, dass, um den GraphicsContext zu bekommen, es canvas.getGraphicsContext2D wäre, aber sobald ich dieses GraphicsContext-Objekt habe, was mache ich damit, um mein barChart-Objekt auf der Leinwand zu zeichnen?

Antwort

2

Sie malen nicht die BarChart auf einer Canvas. Beide sind vom Typ Node. Lege das BarChart einfach in deine Szene und füttere es mit Daten.

+0

Ich werde die Daten in das BarChart einspeisen, bevor es angezeigt wird. Ich habe derzeit den Canvas in der Mitte eines BorderPane, also möchte ich, dass das BarChart im mittleren Knoten dieses BorderPane erscheint. Also sagst du, dass es unmöglich ist, ein BarChart auf ein Canvas zu legen? In diesem Fall werde ich wahrscheinlich mit dem StackPane gehen, da es verifizierte Beispiele gibt. Mein Forschungsleiter schlug vor, ein Canvas zu verwenden, weshalb ich speziell nach Canvas gefragt habe, obwohl StackPane einfacher wäre. – Ben

+1

Nun, Sie könnten [Schnappschuss des Knotens] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#snapshot-javafx.scene.SnapshotParameters-javafx.scene.image). WritableImage-) in ein Bild und [zeichnen Sie das Bild auf einer Leinwand] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/canvas/GraphicsContext.html#drawImage-javafx.scene. image.Image-double-double-), aber das wäre eine dumme Idee, folge Rolands viel besserem Vorschlag. – jewelsea

+0

Ja, ich landete nur meine BarChart in den zentralen Knoten des BorderPane und es funktionierte. Auch @jewelsea muss ich Ihnen danken, weil ich am Ende Ihren GitHub-Code mit Ebenen-xy-Diagrammen verwendet habe, um mir beim Erstellen von BarCharts zu helfen :) – Ben

Verwandte Themen