0

折れ線グラフを含む JavaFX アプリがあります。グラフの各シリーズの色をユーザーが選択できるようにしたい。選択は動的であるため、静的 CSS を使用して色を設定することはできません。関連するシリーズと同じ色に設定する必要がある他のコントロールもあります。次のようなコードを使用して、シリーズの線の色を動的に設定することができます。

series.getNode().setStyle("-fx-stroke: " + color + ";");

これはうまく機能し、関連付けられたコントロールでユーザー指定の色を使用できます。

私の問題は、各シリーズのシンボルの色も同じ色に設定する必要があることです。それを動的に行う方法が見つかりません。このトピックに関して私が読んだすべてのチュートリアル、ドキュメント、および投稿は、静的 CSS アプローチを指しています。

ほとんどのグラフ ウィジェットでは、この種の作業は非常に簡単に実行できますが、ここでも Oracle フォーラムでも手がかりは見つかりませんでした。ガイダンスをいただければ幸いです。

- アップデート -

すべてのシリーズのすべてのデータ ポイントを列挙し、関連付けられているシンボル ノードを取得して、スタイルを個別に設定する以外に、これを行う方法が見つかりませんでした。私が望んでいたものではありません。その過程で、シンボルに割り当てられたデフォルトのノードが StackPane であることに気付きました。その柔軟性は必要なかったので、Rectangle に置き換えました。これにより、レンダリングが高速化されました。

4

3 に答える 3

0

少し異なる(おそらくもっと複雑な)問題がありました。シリーズの一部のノードを 1 つの色でスタイルし、同じシリーズ内の他のノードを別の色でスタイルする必要がありました (また、色の割り当てを動的に変更できるようにする必要がありました)。私は JavaFx 2.2 で作業しています。私はCSSスタイリングをしていますが、もちろんそれはここでは役に立ちません。私の問題はどこにも解決されていませんでした。これは私が見つけた中で最も近いものでした。

「series.getNode().setStyle("-fx-stroke: " + color + ";")」を機能させることができなかったと言いたいだけです。ただし、代わりに「-fx-background」を使用すると機能します。これが誰かに役立つことを願っています。

于 2015-09-02T21:08:27.387 に答える