好的,要为Gwt或Gwtp中的小部件设置一个Css,我们可以执行以下操作:
-1。直接从gwt代码。例如:label1.getElement()。getStyle()。setBackground(“ blue”); -2。在UiBinder xml文件中包含“ ui:style”,但这仅对该UiBinder -3可见。在UiBinder xml文件中包含“ ui:width”,它将对所有UiBinder都可见 -并且有很多方法可以将Css直接设置为UiBinder中的小部件。
让我感到困惑的是,如果我用过,例如
<ui:with field='res' type="com.myproj.client.MyResource" />
&如果myResource.css
有,.gwt-TabLayoutPanel
那么我不需要使用“ addStyleNames”,例如<g:TabLayputPanel />
,它可以完美地识别CSS。
不过,如果我加入.gwt-ScrollPanel
到myResource.css
与使用<g: ScrollPanel />
,然后什么都没有发生。
所以我必须创建public interface MyCssResource extends CssResource
,然后添加String gwt-ScrollPanel();
到MyCssResource
。但是Java eclipse不允许-
在方法名称中使用连字符,因此我必须更改为String gwtScrollPanel();
。
最后,我必须添加addStyleNames
到<g: ScrollPanel />
,<g: ScrollPanel addStyleNames="{res.css.gwtScrollPanel}" />
然后它才能工作。
这也意味着,如果我想使用.gwt-TabLayoutPanel
的MyCssResource
话,我需要删除连字符-
和这将导致矛盾在我的代码。
那么,有人可以向我解释这里发生了什么吗?我很迷惑?
这是因为在创建TabLayoutPanel时,它具有一个名为.gwt-TabLayoutPanel的默认类。因此,您无需手动将该类添加到TabLayoutPanel中。只需创建一个TabLayoutPanel,您就会看到“ .gwt-TabLayoutPanel”类已经在那里。
但是ScrollPanel没有附带名为.gwt-ScrollPanel的默认类。这只是一个div。尝试创建ScrollPanel并查看。最初没有添加任何类。请参见屏幕截图
如果要添加一个名为.gwt-ScrollPanel的类,则必须手动进行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句