根据存储在ModelObject中的RGB值更改natTable行的颜色

时间:2016-02-02 17:09:35

标签: java nattable

我正在尝试根据存储在模型对象中的RGB值更改NatTable中行的颜色。我找到了有关如何在我的NatTable中设置自定义样式的信息,但这些似乎都使用预定义标签,而不是基于动态值的标签。

//add custom cell label to cells that contain value AAA in column 2
CellOverrideLabelAccumulator cellLabelAccumulator 
= new CellOverrideLabelAccumulator(gridLayer.getBodyDataProvider());
cellLabelAccumulator.registerOverride("AAA", 2, CELL_LABEL);

// Register label accumulator with the data layer
bodyDataLayer.setConfigLabelAccumulator(cellLabelAccumulator);

CELL_LABEL是一个链接到预建标签的字符串。

1 个答案:

答案 0 :(得分:0)

NatTable中的样式概念基于您已经找到的机制。您将标签附加到单元格(通常用于某些特殊条件)并注册该标签的样式。通过这种方式,NatTable实现了样式和内容的分离。

由于您的方法是将样式信息和数据保存在一个模型对象中,您需要找到一种方法将其转换为NatTable。

基本上你需要注册一个标签以某种方式表示你的模型对象。然后为该标签注册一个样式,其中包含模型对象的背景颜色信息。