I want to add color to the color cell of the rows dynamically when ADD button is clicked. I am not able to change the background color of the cell. Please see the image for reference. Am not able to achieve that with the help of code. Thanks for help in advance.
我想在单击ADD按钮时动态地向行的颜色单元格添加颜色。我无法更改单元格的背景颜色。请参阅图片以供参考。在代码的帮助下无法实现这一点。提前感谢您的帮助。
Snippet adding values to table :
将值添加到表的代码段:
@FXML
private void addEntity() {
data.add(new Inventory(codeTemp.getText(), articleNameTemp.getText(), Integer.parseInt(amountTemp.getText()), dcTemp.isSelected() ? true:false, stTemp.isSelected()?true:false, Utilities.toRGBCode(colorTemp.getValue()), informationTemp.getText(), data.size()+1));
inventoryTable.setItems(data);
}
1 个解决方案
#1
8
Did with the help of a callback on the column.
在列的回调的帮助下做了。
Callback<TableColumn<Inventory, String>, TableCell<Inventory, String>> cellFactory =
new Callback<TableColumn<Inventory, String>, TableCell<Inventory, String>>() {
public TableCell call(TableColumn p) {
TableCell cell = new TableCell<Person, String>() {
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? null : getString());
setStyle("-fx-background-color:"+getString());
}
private String getString() {
return getItem() == null ? "" : getItem().toString();
}
};
return cell;
}
};
#1
8
Did with the help of a callback on the column.
在列的回调的帮助下做了。
Callback<TableColumn<Inventory, String>, TableCell<Inventory, String>> cellFactory =
new Callback<TableColumn<Inventory, String>, TableCell<Inventory, String>>() {
public TableCell call(TableColumn p) {
TableCell cell = new TableCell<Person, String>() {
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? null : getString());
setStyle("-fx-background-color:"+getString());
}
private String getString() {
return getItem() == null ? "" : getItem().toString();
}
};
return cell;
}
};