あなたは、CSSファイル内のルックアップの色を使用することができます
.vertex {
-vertex-fill: rgba(64, 196, 255, 1);
-fx-fill: -vertex-fill ;
}
をして、あなたは、インラインスタイルを使用して、実行時にそれを変更することができます。コンポーネントの祖先でsetStyle()
と呼び出すことができ、それはすべての子孫コンポーネントに適用されます。例えば。スタイルクラス.vertex
で、シーン内のすべてのものに変更を適用するには、シーンのルートのスタイルを設定します。
Color selectedColor = colorPicker.getValue();
int red = (int) (255 * selectedColor.getRed());
int green = (int) (255 * selectedColor.getGreen());
int blue = (int) (255 * selectedColor.getBlue());
double opacity = selectedColor.getOpacity();
String userColor = String.format("rgba(%d, %d, %d, %f)", red, green, blue, opacity) ;
scene.getRoot().setStyle("-vertex-fill: " + userColor + " ;");
どのようにして、具体的なCSSクラスを参照してくださいか?あなたの例では、変数を.rootクラスに設定すると思います。 また、私はこの質問を明示的に質問していませんでしたが、私は答えは期待していませんが、これは色の編集にとって重要です - .cssからColorオブジェクトに変換する方法 – ievgen
@ievgen外部ファイルのCSSは、 '-vertex-color'の値をCSSクラス' vertex'を持つものの塗りつぶしに適用します。 Javaコードは 'root'要素の' -vertex-color'の値を変更します。この値はルートノードのすべての子孫に適用されます。その効果は、CSSスタイルクラス 'vertex'を使ってルートノードのすべての子孫の塗りつぶしを変更することです。選択した色の文字列表現を作成するためのコードを追加しました。 –
大変感謝しています! – ievgen