2016-05-13 6 views
0

JavaFX TableViewを使用してデータベーステーブルのGUIをシミュレートしたいと思います。このテーブルには、行ステータスを示す特別な列があります。ここでMS Accessからの例である:JavaFXのヘッダーとまったく同じようにカスタム列に色を付けるにはどうすればいいですか?

enter image description here

したがって、Iは、テーブルヘッダとして、全く同じ色を持つ特別なカラムを持っていると思います。私はスタイルを明示的に推測したくないので、ヘッダーにすでに設定されている色を継承することはできません。

可能ですか?

+0

ページはHTML、あるいはDOM私は推測ではありません。彼らはメモリ内に独自の階層を持ち、ブラウザには表示されません。 – Dims

+0

ああ、申し訳ありません。あなたのタグには[css]が含まれていたので、私はこれがウェブアプリケーションであると推測しました。私の悪い。 –

+0

しかし、JavaFXはCSSを使用しています:)これはあいまいな用語そのものです:) – Dims

答えて

0

デフォルトのスタイルシートは、ヘッダの

-fx-background-color: -fx-box-border, -fx-inner-border, -fx-body-color; 
-fx-background-insets: 0, 0 1 1 0, 1 2 2 1; 

を使用しています。だからあなたのようなもの試みることができる:

.row-header-cell { 
    -fx-background-color: -fx-box-border, -fx-inner-border, -fx-body-color; 
    -fx-background-insets: 0, 0 1 1 0, 1 2 2 1; 
} 

.table-row-cell:selected .row-header-cell { 
    -fx-body-color: gold ; 
} 

をしてから、「行ヘッダー」列のセルファクトリーを使用します。

TableColumn<...> rowHeaderColumn = ... ; 
rowHeaderColumn.setCellFactory(col -> { 
    TableCell<...> cell = new TableCell<>(); 
    cell.getStyleClass().add("row-header-cell"); 
    return cell ; 
}); 
関連する問題