2016-05-15 14 views
0

Swingでは、JTable.getTableHeader().getBackground()はColor(列ヘッダーの色を含む)を生成します。TableView列の背景色を取得する方法

TableViewのJavafxには同等の機能がありますか?

+0

さて、 'JavaFX'では、通常は' CSS'を使ってウィンドウをスタイルします。 'TableView'のヘッダをスタイルするには、以下のようにします:' .table-view .column-header {-fx-background-color:red; } '。あなたは様々な 'CSS'セレクタメソッドで遊んで、スタイリングを取得することができます。 – Jaims

+0

それほど単純ではありません。 javafxではそれほど簡単ではありません。背景は単純に色ではないかもしれません。画像やグラデーションも使用できます。さらに、さまざまな情報源があります。 @ジャイアントどのようにそれを設定することによって色を取得しています????? – fabian

+0

@fabian私は、それが 'TableHeader' *がどのようにスタイリングできるかを言ったところです。したがって、 'getCssMetaData()'や 'getStyle()'のような 'CSS'セレクタメソッドを使うことができます。それは答えではなく、コメントでした。 – Jaims

答えて

0

TableViewのJavafxには同等の機能がありますか?

残念ながら、JavaFXのはgetTableHeader().getBackground()


に法と同等に建てしかし.....あなたはまだあなたができるこの方法を使用して悪名高いnode lookup

経由でアクセスすることができます提供していませんTableViewの別のRegionを取得します。これにより、それらを操作することができます。

CSSがSceneにまだ適用されていない場合、ルックアップはnullが返されることに注意することが重要です。通常、レンダリングされるまでは発生しません。そここれを回避する方法がありますが、それらは以下のようなすべての保証、ではありません。強制的に変更されたプロパティにリスナーを追加するprimaryStage.show();

  • 後の操作を実行applyCSS
  • を通じて早期にCSSを適用する

    • レンダリング中に、例えばBoundsInParentPropertyと操作を実行します。

    この問題に遭遇した場合は、ここでいくつかの答えと解決方法がありますSO


    下の図は、そうするために使用することができセレクタを示しています

    enter image description here

    ヘッダ、私が使用して設定されているの背景がある中で、あなたが興味がある部分以下のようになります。

    このロジックでは、背景に関する情報を得ることができますが、ファビアンはコメントにアドバイスしていますので、背景色が常に色であるとは限りません

  • 関連する問題