2017-11-09 28 views
0

javaFXでシーンの特定の部分のスクリーンショットを撮りたいと思っています。 Here is an image of what the scene looks like。グラフのみがスクリーンショットされていることを意味するパラメータ(エリアのサイズやエリアなど)を入力したいと思います。しかし、グラフ自体はラベルと画像で構成されています。 スクリーンショットを取得するときに、スクリーンショットをWritableImageまたはクリップボードにコピーするか、どちらか簡単な方で保存したいと思います。 どうすればいいですか?あなたが知る必要がある場合、私はシーンビルダーを使用しています。画面のある部分のスナップショット/スクリーンショットを撮る(javaFX)

答えて

1

ラベル全体を含む 'グラフ'全体がjavafx.scene.Nodeである限り、snapshot機能を使用できます。

同じノードにまだ存在しない場合は、すべてをGroup,ParentまたはRegionの子として追加することを検討してください。

シーンビルダでこれを行う方法は、「グループ」または「地域」を追加し、ドキュメント階層でスクリーンショットを適用するすべてのラベルとノードをそのグループにドラッグすることです。 「コンテナ」の下にあるものを使用することもできますが、グループには実際にはない他のフォーマットがあります。グループにfx:idを与え、Javaコードでグループのsnapshotを呼び出します。それは文字通り簡単です。

+0

すべてのラベルと画像はアンカーペインの子です。これは、.FXMLファイルのようです。

+0

FXML、@ WillAを変更してください。もしあなたがそうしたら、本当に便利なことがあります。私は、ホイールを再発明する必要はないと思います。 – MMAdams

+0

FXMLを変更するにはどうすればいいですか? @MMAdams –

関連する問題