2016-08-23 24 views
1

コードの色に色を変更

c.getStyleClass().add("required"); 

とCSSで

.required { 
    -fx-control-inner-background: red; 
} 

を変更するには、しかし、そのテキストフィールドのコンテキストメニューは、同じ色を持つことになります。

enter image description here

どのようにそれを解決するには?

答えて

4

ルール

.required { 
    -fx-control-inner-background: red; 
} 

セット、選択した要素ため-fx-control-inner-background、それはファミリー・ツリーです。

したがって、効果が望ましくない選択されたノードの下位項目のデフォルト値に戻す必要があります。コンテキストメニューはdecendとして扱われるので、コンテキストメニューのためにそれを変更する必要があります。このルールをCSSに追加することによって:

.required .context-menu { 
    -fx-control-inner-background: derive(-fx-base,80%); 
}