1

我对 GWT 样式有一个奇怪的经历。

我正在使用 UiBinder 以及一些编程访问来设置我的 GWT 小部件的样式:

    <ui:UiBinder xmlns:ui="..." xmlns:g="...">
        <ui:style src="bindings.css"/>
            <g:VerticalPanel >
                <g:Label addStyleNames="{style.stationTitle}" ui:field="stationName"></g:Label>
                <g:FlexTable ui:field="routesTable"></g:FlexTable>
            </g:VerticalPanel>
    </ui:UiBinder>

如您所见,我也有一个 FlexTable。我是 http://code.google.com/webtoolkit/doc/latest/tutorial/style.html#secondary
的示例, 可以向 FlexTable 中的单元格添加样式,如下所示:

routesTable.getFlexCellFormatter().setStyleName(row, 1, "route");

结果:标签 stationName 的样式已成功添加,但表格单元格的样式未成功添加。查看提供给浏览器的 HTML 会发现问题
已编译样式并给出哈希名称:.G1gm2rpjA 和 .G1gm2rpjB 表示标签的 HTML 元素已被赋予正确的哈希样式名称 G1gm2rpjA,但表格中的单元格有被赋予了原始样式名称“路线”……怎么了?这是一个 gwt 错误吗?

4

1 回答 1

3

好的,我想我明白了,
我必须使用 CssResource 接口来访问我在代码中的样式。我不知道在
http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.html#Programmatic_access之前我怎么没看到这个链接

于 2010-09-27T13:08:31.227 回答