2017-05-20 7 views
0

私はKolinとTornadoFXを初めて使いました。私は現在、いくつかの機能を試しています。 私はJFoenix-Libraryを使い、TornadoFXのタイプセーフなCSS機能を使ってそのコントロールをスタイルしたいと思っています。しかし、JFixコントロールのCSSクラスのスタイルを変更する方法はわかりません。TornadoFX:他のライブラリとタイプセーフなCSS

たとえば、JFXDecoratorのデフォルトのCSSクラスは、jfx-decoratorです。タイトルバーの背景色を変更するには、クラスjfx-decorator-buttons-containerを変更する必要があります。 TornadoFXでこれをどうすればできますか?使用する.cssファイルで

.jfx-decorator-buttons-container { 
    -fx-background-color: red; 
} 

これはTornadoFXで可能ですか?

答えて

1

あなたは、クラスjfx-decoratorjfx-decorator-buttons-containerに言及、しかし、あなたの例のCSSは、クラスjfx-decorator-buttonscontainerを使用しています。あなたが本当に望んでいるクラスは不明ですが、後者のクラスを追加します。これは、あなたの例からCSSを生成するためです。

class Styles : Stylesheet() { 
    companion object { 
     val jfxDecoratorButtons by cssclass() 
     val container by cssclass() 
    } 

    init { 
     jfxDecoratorButtons and container { 
      backgroundColor += Color.RED 
     } 
    } 
} 

UPDATE:あなたはとてもここに、あなたの質問にコードを変更し、その出力を生成します更新されたバージョンです:

class Styles : Stylesheet() { 
    companion object { 
     val jfxDecoratorButtonsContainer by cssclass() 
    } 

    init { 
     jfxDecoratorButtonsContainer { 
      backgroundColor += Color.RED 
     } 
    } 
} 

キャメルは自動的にハイフンで同棲下げるために変換され、セレクタをケース入り。またcssclassデリゲート関数内の正確な名前を指定することができます。

val myCssClass by cssclass("my-slightly-different-css-class")

お知らせもbackgroundColorプロパティが複数の値を受け入れるために、あなたは+=を使用して色のリストに色を「追加」しなければならないこと。これは、複数の値を受け入れるすべてのプロパティの一般的なパターンです。

+0

申し訳ありませんが、私のせいで、私はタイプミスをしました。単一のクラスである 'jfx-decorator-buttons-container'です。 – matthjes

+0

ありがとう、それは解決策です!私はガイドでこの情報を見つけることができませんでした、多分私はそれを逃した。 – matthjes

+0

あなたは歓迎です:)このガイドのCSSの章ではこれについて言及していますが、まだタイプセーフなCSSサポートの完全な参照ではありません。まもなくこの章を拡張する予定です。 https://edvin.gitbooks.io/tornadofx-guide/content/6.%20CSS.html –

関連する問題