-1
我目前正在Javafx中使用自定義單元工廠來使用css對我的表格視圖的單元格/行進行樣式設置。這是成功的,確切地說我需要它。我想知道是否有另一種方式來設置表視圖的行。是否有不同的方式來設置javafx中的表格行
我想用css動態改變整個行的樣式,而不是逐個單元格。一些行將會是不同的顏色等。字體填充,背景顏色,字體大小等等。沒有什麼奇特的。
我目前正在Javafx中使用自定義單元工廠來使用css對我的表格視圖的單元格/行進行樣式設置。這是成功的,確切地說我需要它。我想知道是否有另一種方式來設置表視圖的行。是否有不同的方式來設置javafx中的表格行
我想用css動態改變整個行的樣式,而不是逐個單元格。一些行將會是不同的顏色等。字體填充,背景顏色,字體大小等等。沒有什麼奇特的。
您可以在表上使用rowFactory
,該表生成行並操縱行的樣式類或附加到該行的僞類。然後使用外部樣式表來應用樣式。
例如
PseudoClass foo = PseudoClass.getPseudoClass("foo");
table.setRowFactory(tv -> {
TableRow<MyDataType> row = new TableRow<>();
row.itemProperty().addListener((obs, oldItem, newItem) -> {
if (/* some condition on newItem */) {
row.pseudoClassStateChanged(foo, true);
} else {
row.pseudoClassStateChanged(foo, false);
}
});
return row ;
});
然後
.table-row-cell {
/* your regular style settings here */
}
.table-row-cell:foo {
/* your specific style for when foo is set here */
}
不正是我一直在尋找,但還是對我非常有用的。我一直在尋找更多的動態樣式,而不是一次一個單元格的行,像細胞工廠一樣。將編輯我的問題更清晰。 –
這就是我正在尋找的。非常感謝你。 –
@MichaelPickett有關相關問題,請參閱http://stackoverflow.com/questions/20350099/programmatically-change-the-tableview-row-appearance/20409924#20409924。 –