У меня есть вопрос относительно использования изображений в ячейках NatTable. Мой ConfigLabelAccumulator и конфигурация выглядят так
public class MyConfigLabelAccumulator implements IConfigLabelAccumulator {
@Override
public void accumulateConfigLabels(final LabelStack configLabels, final int columnPosition, final int rowPosition) {
if (((rowPosition + columnPosition) % 2) == 0) {
configLabels.addLabel("myLabel");
}
}
}
public class MyStyleConfiguration extends DefaultNatTableStyleConfiguration {
@Override
public void configureRegistry(final IConfigRegistry configRegistry) {
super.configureRegistry(configRegistry);
final Style style = new Style();
style.setAttributeValue(CellStyleAttributes.IMAGE, GUIHelper.getImage("plus"));
style.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR, GUIHelper.COLOR_YELLOW);
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_STYLE, style, DisplayMode.NORMAL, "myLabel");
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_PAINTER, new CellPainterDecorator(new TextPainter(), CellEdgeEnum.RIGHT, new ImagePainter()), DisplayMode.NORMAL);
}
}
А я так настраиваю
dataLayer.setConfigLabelAccumulator(new MyConfigLabelAccumulator());
...
natTable.addConfiguration(new MyStyleConfiguration());
...
natTable.configure();
Таблица выглядит ожидаемо. Я вижу желтые фоновые ячейки и изображение «+» в ячейках. Но после звонка
natTable.setTheme(new ModernNatTableThemeConfiguration());
Я вижу только желтый фон и никакого изображения.
UPD: Я решил это с помощью IThemeExtension
, но может быть есть другое решение?