如何在Vaadin中向表行添加特定颜色?

时间:2013-05-14 13:31:31

标签: java vaadin

我正在尝试根据行项的十六进制值更改表格中行的颜色。我基本上试图生成css,类似于生成像这样的cssLayout

CssLayout content = new CssLayout( ) {
      @Override
      public String getCss( Component c ) {
        return "background: " + colorCode + ";";
      }
    };

这是我现在使用的代码

    table.setCellStyleGenerator(
    new Table.CellStyleGenerator( ) {
      public String getStyle( Object itemId, Object propertyId ) {
        return  "green";
      }
    } );

但它只适用于设置样式名称,因此我必须拥有数百万个样式名称,以容纳用户想要的颜色的所有可能的十六进制值。

2 个答案:

答案 0 :(得分:2)

您可以使用CSSInject附加组件即时添加所需的样式名称。

请参阅https://vaadin.com/directory#addon/cssinject

String color = "#CCDDFF";
CSSInject css = new CSSInject(getUI());
css.setStyles("."+color+" { background-color: "+color+"; }");

答案 1 :(得分:0)

在现有的CSS文件中,您可以为“green”样式定义颜色更改为background-color: #00ff00;,并根据您的约束返回绿色样式。看看color changes

相关问题