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

Java 如何在Vaadin中向表格行添加特定颜色?,java,vaadin,Java,Vaadin,我正在尝试根据行项目的十六进制值更改表中行的颜色。我基本上是在尝试动态生成css,类似于生成这样的cssLayout CssLayout content = new CssLayout( ) { @Override public String getCss( Component c ) { return "background: " + colorCode + ";"; } }; 这是我现在使用的代码 table.setCel

我正在尝试根据行项目的十六进制值更改表中行的颜色。我基本上是在尝试动态生成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";
      }
    } );

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

在现有CSS文件中,您可以将颜色更改定义为
背景色:#00ff00,并根据您的约束返回绿色样式。查看。

您可以使用CSSInject加载项动态添加所需的样式名称


我认为这不会有帮助,因为hwe需要在CSS文件中按名称列出所有可能的颜色,因为他没有2-3种颜色,而是希望(可能)使用从000000到ffffff的所有可用颜色。谢谢您的回复。我不想用插件,我在用Vaadin 6.什么的。我最终使用了CssLayout,就像上面的代码一样,但我相信这对其他有同样问题的人会有帮助。对不起,我没有想到vaadin 6。6.3+也有相同的附加组件,语法几乎相同。字符串颜色=“#CCDDFF”;CSSInject css=新的CSSInject();css.setValue(“.”+color+“{background color:“+color+”;}”);mainLayout.addComponent(css);我现在也有同样的问题。颜色来自数据库。没有颜色的“名称”,也不可能知道会有多少颜色。所以我需要一些东西来设置表行的具体rgb颜色。动态生成任意数量的CSS名称(而主布局已经在屏幕上呈现)似乎是不合适的。
String color = "#CCDDFF";
CSSInject css = new CSSInject(getUI());
css.setStyles("."+color+" { background-color: "+color+"; }");