2016-07-18 9 views
0

私のルールは既に存在していますが、私はウェブ上で利用可能な解決策を理解しようとしていたが、いずれも私のために働いていなかった。スタイルシートのルールから '-fx-background-color'のルックアップを解決している間に '-fx-tab-border-color'を解決できませんでした

Jul 18, 2016 1:39:17 PM javafx.scene.CssStyleHelper calculateValue WARNING: Could not resolve '-fx-tab-border-color' while resolving lookups for '-fx-background-color' from rule '*.tab-pane>*.tab-header-area>*.control-buttons-tab' in stylesheet file ***style.css*** 

上記のような警告が表示され、コンポーネントの一部が正しく読み込まれないことがあります。 Java1.8.0_66を使用しています。私のCSSファイルで

ルートは次のようである:

.root { 

    -fx-base: #d0d0d0; 

    -fx-background: #f4f4f4; 

    -fx-control-inner-background: white; 
    -fx-font-family:"Courier"; 
    -fx-font-size: 12; 

    -fx-dark-text-color: black; 
    -fx-mid-text-color: #292929; 
    -fx-light-text-color: white; 

    -fx-accent: #0093ff; 

    -fx-focus-color: #0093ff; 

    -fx-color: -fx-base; 

    -fx-disabled-opacity: 0.9; 

    -fx-hover-base: ladder(
     -fx-base, 
     derive(-fx-base,20%) 20%, 
     derive(-fx-base,30%) 35%, 
     derive(-fx-base,40%) 50% 
    ); 

    -fx-pressed-base: derive(-fx-base,-20%); 

    -fx-focused-base: -fx-base; 

    -fx-tab-border-color: -fx-box-border; 

    -fx-background-color: inherit; 
    -fx-background-radius: inherit; 
    -fx-background-insets: inherit; 
    -fx-padding: inherit; 

    -fx-cell-hover-color: #cce3f4; 

    -fx-cell-focus-inner-border: #85b9de; 

    -fx-page-bullet-border: #acacac;  
    -fx-page-indicator-hover-border: #accee5; 
} 

、それが使用されているから:

.tab-pane > .tab-header-area > .control-buttons-tab { 
    -fx-background-color: -fx-tab-border-color, -fx-inner-border, -fx-body-color; 
    -fx-background-insets: 0, 1, 2; 
    -fx-background-radius: 5 5 0 0, 4 4 0 0, 3 3 0 0; 
    -fx-padding: 0.083333em 0.25em 0.083333em 0.25em; /* 1 3 1 3 */ 
} 

同じCSSファイルです。

ありがとうございます!

+0

再生できません。 '-fx-tab-border-color'を例えばに変更してください。 'TAB_BORDER_COLOR'です。 – DVarga

+0

私のためにうまく動作します。おそらく '-fx'というプレフィックスを独自のルックアップカラー定義に使うべきではありませんが、うまくいきます。 –

+0

@James_D私は** css ** .rootのコンテンツとcssの内容について言及しています。ここでは問題の説明で使用されています。そして、私は '-fx'には何の問題もないことがわかります。私が '-fx-disabled-opacity'に直面しているのと同じ問題です。 –

答えて

0

アプリケーションを起動するために記述されたJavaコードで問題が発生しました。はルート要素ではなく、ParentはPane内にネストされています。そのため、javafx2.2ではcssを適用するため、の親のは実際のルート要素である必要はないため、CSS8を解決できるのはFX8でしかないからです。 Parentがルート要素でない場合、JavaFx2.2で正常に動作します。

0

私は最近この問題に遭遇しました。 'RAM World'によると、Nodeはルート要素ではなく、rootブロックの定義済みの値にアクセスしているときに発生します。これに対する簡単な解決策は、javafxが事前定義された値を見つけることができるようにセレクタのスコープを広げることです。例えば。;

.root > * 
{ 
    /* add your predefined values here */ 
} 

この場合、rootとそのすべての(ネストされた)子が選択されます。この表記法は、これらがルートプロパティ/値であることを明らかにしているので、私はそれを削除します。あなたが最も短い表記をしたい場合は、以下も動作します:

* 
{ 
    /* add your predefined values here */ 
} 

を、それはすべてのNode選択この場合。

これは古い投稿ですが、うまくいけば、これは誰かにとって有益なことでした。

関連する問題