2017-07-20 20 views
1

私は音楽プレーヤーを持っていると私はcssを使用してJavafxのスライダトラックトラックの色を変更するにはどうすればよいですか?

-fx-背景色を行うとき、私は、スライダートラックの色だけではなく、境界線の色を変更しようとしています:変更:それは境界線の背景色 -fx-色を変更スライダードット

私は -fx-track-fillを試してみました。

これは私が持っているものです。

.root 
{ 
    -fx-background-color: #383838; 
} 
.vbox 
{ 
    -fx-background-color: #549534; 
} 
.button 
{ 
    -fx-background-color: linear-gradient(#dc9656,#ab4642); 
    -fx-text-fill: #ffffff; 

} 
.label 
{ 
    -fx-text-fill: #ffffff; 
} 
.slider 
{ 
    -fx-background-color: linear-gradient(#dc9656,#ab4642); 
    -fx-color:#549534; 
} 

答えて

4

ソリューション

スライダーの内側の色は、JavaFXのCSS looked up colorによって制御されます。

-fx-control-inner-background 

colored slider

あなたは、コード内の色を変更することができます

slider.setStyle("-fx-control-inner-background: palegreen;"); 

またはCSSで:

.slider .track { 
    -fx-control-inner-background: palegreen; 
} 

ここで背景

jfxrt.jarファイル内modena.cssからスライダコントロールのための標準的なCSS(ありますJava 8インストールの場合):

.slider .track { 
     -fx-background-color: 
      -fx-shadow-highlight-color, 
      linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border), 
      linear-gradient(to bottom, 
      derive(-fx-control-inner-background, -9%), 
      derive(-fx-control-inner-background, 0%), 
      derive(-fx-control-inner-background, -5%), 
      derive(-fx-control-inner-background, -12%) 
     ); 
    -fx-background-insets: 0 0 -1 0, 0, 1; 
    -fx-background-radius: 0.25em, 0.25em, 0.166667em; /* 3 3 2 */ 
    -fx-padding: 0.25em; /* 3 */ 
} 

スライダートラックには、シャドウハイライト、ボーダー、内部シェーディングのあるレイヤードバックグラウンドがあります。内側の陰影は、fx-control-inner-backgroundから派生した勾配です。そのため、色を変更した値を変更すると、トラックの内側の色が変更されます。 JavaFX CSSの背景のレイヤーコンセプトに慣れていない場合はJavaFX Region CSS documentationを読んでください。

関連する問題